【以圆类Circle为基础设计球类Sphere】

以点类Point为基类公有派生圆类Circle,并以圆类Circle为基类公有派生球类Sphere,main(void)函数完成对其的测试。

Point类结构说明:

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

###Circle类结构说明:

公有派生圆类Circle以点类Point为基类,相较于点类Point,Circle类的结构说明如下:
Circle类的数据成员包括:
①私有数据成员:X坐标x继承自Point类,Y坐标y继承自Point类。
②私有数据成员:半径radius(double型)
③静态数据常量PI(double型),其值为3.14159
Circle类成员函数包括:
①定义有参构造函数Circle(double, double, double)和拷贝构造函数Circle(Circle &),其中有参构造函数参数包括圆心坐标和半径,圆心调用Point类构造函数进行构造,各参数默认值为0,输出信息“Circle Constructor run”,拷贝构造函数输出信息“Circle CopyConstructor run”
②定义析构函数,析构函数输出信息“Circle Destructor run”
③定义公有函数成员:void setRadius(double)和double getRadius() const分别返回和设置radius
④定义公有成员函数double circumference() const用于计算圆的周长
⑤重载double area() const用于计算圆
是一个经典的二维几何图形,其可以通过一个中心点和一个半径来确定。为了在C++中实现一个,我们可以考虑以下几个因素: 1. 名:我们可以将该命名为Circle。 2. 成员变量:该需要存储的中心点坐标和半径,因此需要定义三个成员变量。 3. 构造函数:可以定义不带参数和带参数的构造函数,用于初始化的中心点坐标和半径。 4. 成员函数:我们可以定义用于计算面积和周长的函数,以及用于设置和获取的中心点坐标和半径的函数。 下面是一个简单的C++代码示例: ``` #include <iostream> using namespace std; class Circle { private: double x; // 心横坐标 double y; // 心纵坐标 double r; // 半径 public: Circle() { x = 0; y = 0; r = 0; } Circle(double _x, double _y, double _r) { x = _x; y = _y; r = _r; } double getArea() { return 3.14 * r * r; } double getPerimeter() { return 2 * 3.14 * r; } void setX(double _x) { x = _x; } void setY(double _y) { y = _y; } void setR(double _r) { r = _r; } double getX() { return x; } double getY() { return y; } double getR() { return r; } }; int main() { Circle c1(0, 0, 2); cout << "c1的面积为:" << c1.getArea() << endl; cout << "c1的周长为:" << c1.getPerimeter() << endl; Circle c2; c2.setX(3); c2.setY(4); c2.setR(5); cout << "c2的面积为:" << c2.getArea() << endl; cout << "c2的周长为:" << c2.getPerimeter() << endl; return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值