以点类Point及平面图形类Plane为基础设计圆类Circle

发布时间 2023-04-30 18:30:54作者: jmhyyds

 

 

 

class Circle : public Plane,public Point {
public:
Circle(double x = 0, double y = 0, double r = 0) : Point(x,y), radius(r) {
cout<<"Circle Constructor run" <<endl;
}
Circle(const Circle& c) : Point(c), radius(c.radius) {
cout << "Circle CopyConstructor run" << endl;
}
~Circle() {
cout << "Circle Destructor run" << endl;
}
void setR(double r) {
radius=r;
}
double getR() const {
return radius;
}
virtual void show() const {
cout << "Circle(";
Point::show();
cout << ",Radius=" << radius<<")";
}
virtual double length() const {
return 2 * PI * radius;
}
virtual double area() const {
return PI * radius * radius;
}
protected:
double radius;
static const double PI;
};
const double Circle::PI = 3.14159;