根据题目要求,我们需要设计一个球类Sphere,实现对球对象的半径进行读、写,并求球的表面积和体积。
#include <iostream>
#include <iomanip> // 用于控制输出精度
using namespace std;
class Sphere {
private:
double radius; // 球半径
public:
// 构造函数,默认半径为1
Sphere() {
radius = 1.0;
}
// 设置半径
void SetRadius(double r) {
radius = r;
}
// 获取半径
double GetRadius() {
return radius;
}
// 求表面积
double GetArea() {
return 4 * 3.14159 * radius * radius;
}
// 求体积
double GetVolume() {
return (4.0 / 3.0) * 3.14159 * radius * radius * radius;
}
};
int main() {
Sphere s;
cout << fixed << setprecision(2);
s.SetRadius(1.0); // 缺省设置球半径为1
cout << "Radius: " << s.GetRadius() // 获取半径
<< ", Superficial area: " << s.GetArea() // 求表面积
<< ", Volume: " << s.GetVolume() << endl; // 求体积
double r;
cin >> r;
s.SetRadius(r);
cout << "Radius: " << s.GetRadius()
<< ", Superficial area: " << s.GetArea()
<< ", Volume: " << s.GetVolume() << endl;
return 0;
}
运行以上代码,将得到以下输出结果:
Radius: 1.00, Superficial area: 12.57, Volume: 4.19
(输入半径,例如2)
Radius: (输入的半径), Superficial area: (表面积), Volume: (体积)
这样,我们就完成了对球类的设计,并通过main函数进行了测试。
内容由零声教学AI助手提供,问题来源于学员提问




