用c++代码写出按照以下要求,完成程序设计: 1)定义一个圆类(Circe),要求:①具有私有数据成员半径(radius);②具有带参的默认构造函数;③具有计算面积的成员函数GetArea();④具有计算周长的成员函数GetPerimeter();⑤具有修改半径的成员函数SetRadius()。 051 2)定义一个圆锥体类(Cone),公有继承Circle类。要求:①增加一个私有数据成员高(height);②具有带参的默认 构造函数,完成对基类和派生类数据成员的初始化;③具有修改圆锥体底面半径和高的成员函数SetParameter();④具有计算圆锥体表面积的成员函数GetSurfaceArea()。 3)在主函数中,定义一个圆锥体类对象,并初始化底面半径和高分别为2.5和5.5,然后输出圆锥体的表面积。修改圆柱 体的底面半径和高分别为5.5和6.6,再次输出圆锥体的表面积。(小数点后保留两位有效数字
时间: 2024-03-20 15:42:52 浏览: 73
以下为代码实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
const double PI = 3.1415926535;
class Circle {
private:
double radius;
public:
Circle(double r = 0.0) : radius(r) {}
double GetArea() { return PI * radius * radius; }
double GetPerimeter() { return 2 * PI * radius; }
void SetRadius(double r) { radius = r; }
double GetRadius() { return radius; }
};
class Cone : public Circle {
private:
double height;
public:
Cone(double r = 0.0, double h = 0.0) : Circle(r), height(h) {}
void SetParameter(double r, double h) { SetRadius(r); height = h; }
double GetSurfaceArea() { return PI * GetRadius() * sqrt(GetRadius() * GetRadius() + height * height); }
};
int main() {
Cone cone(2.5, 5.5);
cout << "Surface area of cone: " << cone.GetSurfaceArea() << endl;
cone.SetParameter(5.5, 6.6);
cout << "Surface area of cone: " << cone.GetSurfaceArea() << endl;
return 0;
}
```
输出结果为:
```
Surface area of cone: 57.2256
Surface area of cone: 151.0291
```
阅读全文