4.定义 Cone类,类中定义私有的数据成员r、h,分别代表底面半径和高;类中分别声明公有访问类型的有参和无参的构造函数,类中声明无返回值的成员函数output() 和 acreageO;类外定义不实现任何功能的无参构造函数;类外定义有参构造函数的功能,给数据成员r和h赋值;定义 output 0的功能是输出圆锥体底面半径和高的值,acreage O的功能是求出圆锥体侧表面积并输出;主函数中输入圆锥体底面半径和高的值,并通过访问成员函数outout输出底面半径和高的值、访问 acreage 计算并输出面积的值。
时间: 2024-03-09 13:45:33 浏览: 131
行业分类-设备装置-一种紧凑型质子医疗CBCT系统图像检测板展开机构.zip
下面是 Cone 类的代码实现:
```C++
#include <iostream>
#include <cmath>
using namespace std;
class Cone {
private:
double r; // 圆锥体底面半径
double h; // 圆锥体高度
public:
Cone(); // 无参构造函数
Cone(double r, double h); // 有参构造函数
void output(); // 输出底面半径和高
void acreageO(); // 计算并输出侧表面积
};
Cone::Cone() {} // 无参构造函数的实现
Cone::Cone(double r, double h) : r(r), h(h) {} // 有参构造函数的实现
void Cone::output() {
cout << "圆锥体底面半径:" << r << endl;
cout << "圆锥体高度:" << h << endl;
}
void Cone::acreageO() {
double s = M_PI * r * sqrt(pow(r, 2) + pow(h, 2)); // 计算侧面积
cout << "圆锥体侧表面积:" << s << endl;
}
int main() {
double r, h;
cout << "请输入圆锥体底面半径和高:" << endl;
cin >> r >> h;
Cone cone(r, h); // 创建一个圆锥体对象
cone.output(); // 输出圆锥体底面半径和高
cone.acreageO(); // 计算并输出圆锥体侧表面积
return 0;
}
```
在上面的代码中,我们先定义了一个 Cone 类,其中包括了底面半径 r 和高度 h 两个私有数据成员,以及构造函数、输出函数和计算面积函数三个公有成员函数。
构造函数包括了无参和有参两种类型,无参构造函数不需要做任何事情,直接留空即可;有参构造函数需要传入两个参数,分别是底面半径和高,并将它们分别赋值给私有数据成员 r 和 h。
输出函数 output() 只需要输出圆锥体底面半径和高度即可,而计算面积函数 acreageO() 则需要根据圆锥体的底面半径和高度来计算侧面积,并将结果输出即可。
在主函数中,我们首先通过 cin 输入圆锥体的底面半径和高度,然后通过 Cone 类的有参构造函数创建了一个圆锥体对象,接着分别调用了 output() 和 acreageO() 函数来输出底面半径和高度以及计算侧面积。
阅读全文