class POINT { int x, y; public POINT() { x = 0; y = 0; } public POINT(int xx, int yy) { x = xx; y = yy; } public double khoangcach(POINT
p) { return [Link]((p.x - x) * (p.x - x) + (p.y - y) * (p.y - y)); } public int get_x() { return x; } public int get_y() { return y; } }
abstract class Shape { public abstract double Circumference(); public abstract double Area(); }
class CIRCLE: Shape { POINT p; double r; public CIRCLE() { p = new POINT(); r = 0; } public CIRCLE(POINT p1, double rr) {
p = p1; r = rr; } public bool inside(POINT p1) { if ([Link](p1) < r) return true; return false; } public override double Circumference() { return 2 * 3.1416 * r; } public override double Area() { return 3.1416 * r * r; } }
class RECTANGLE: Shape { POINT p1, p2; public RECTANGLE(POINT a, POINT b) { p1 = a; p2 = b; } public override double Circumference() { return 2 * ([Link](p1.get_x() - p2.get_x()) + [Link](p1.get_y() - p2.get_y())); } public override double Area() { return [Link](p1.get_x() - p2.get_x()) * [Link](p1.get_y() p2.get_y()); } }
class Program { static void Main(string[] args) { POINT p1 = new POINT(3, 3); POINT p2 = new POINT(5, 6); Shape a, b, c; a = new CIRCLE(p1,4);
b = new RECTANGLE(p1, p2); [Link]("Dien tich cua a la: {0}", [Link]()); [Link]("Dien tich cua b la: {0}", [Link]()); [Link]("Chu vi cua a la: {0}", [Link]()); [Link]("Chu vi cua b la: {0}", [Link]()); [Link](); } }