以点类Point为基类公有派生圆类Circle,main(void)函数完成对其的测试。
Point类的数据成员包括:
①私有数据成员:X坐标x(double型),Y坐标y(double型)。 Point类成员函数包括: ①有参构造函数Point(double, double)和拷贝构造函数Point(const Point &),其中有参构造函数参数默认值为0,输出信息“Point Constructor run”,拷贝构造函数输出信息“Point CopyConstructor run” ②析构函数,析构函数输出信息“Point Destructor run” ③公有函数成员:void setX(double)和double getX() const分别返回和设置X坐标 ④公有函数成员:void setY(double)和double getY() const分别返回和设置Y坐标 ⑤公有成员函数void show() const用于显示点的坐标信息,显示格式为:(x,y) ⑥公有成员函数double area() const用于计算点的面积,点的面积为0
const double PI = 3.14159; class Circle : public Point { private: double radius = 0; public: Circle (double a = 0, double b = 0, double c = 0):Point(a,b) { radius = c; cout << "Circle Constructor run" << endl; } Circle (Circle &r) : Point(r) { radius = r.radius; cout << "Circle CopyConstructor run" << endl; } ~Circle () { cout << "Circle Destructor run" << endl; } void setRadius (double r=0) { radius = r; } double getRadius() const { return radius; } double circumference() const { return PI*radius*2; } double area() const { return radius*radius*PI; } void show() const { cout << "(" << x << "," << y << ")" << "," << "Radius=" << radius; } };