class Shape {
public:
virtual double area() = 0; // 面積介面
virtual double circumference() = 0; // 週長介面
};
class Circle : public Shape {
private:
double radius;
public:
Circle(double r) { radius = r; }
double area() { return 3.14 * radius * radius; } // 圓形面積公式
double circumference() { return 2 * 3.14 * radius; } // 圓形週長公式
};
class Rectangle : public Shape {
private:
double length;
double width;
public:
Rectangle(double l, double w) { length = l; width = w; }
double area() { return length * width; } // 矩形面積公式
double circumference() { return 2 * (length + width); } // 矩形週長公式
};
int main() {
Circle circle(5);
Rectangle rectangle(4, 6);
cout << "圓形面積: " << circle.area() << endl;
cout << "圓形週長: " << circle.circumference() << endl;
cout << "矩形面積: " << rectangle.area() << endl;
cout << "矩形週長: " << rectangle.circumference() << endl;
return 0;
}