【问题描述】声明一个Circle类,有数据成员Radius(半径)、成员函数GetArea(),并满足以下要求。 (1)需要定义和合理的构造函数。 (2)使用函数重载方式重载成员函数,当输入一个参数时,被认作创建圆,并认为输入圆半径,计算并返回圆的面积;当输入两个参数时,认为创建一个圆,计算并返回圆环的面积; (3)其他自行界定。 (4)编写合适的主函数,构造一个Circle的对象进行对象创建,以及成员函数的测试。 样例1: 【输入形式】10 【输出形式】 the circle is created! the area is:314 样例2: 【输入形式】10 5 【输出形式】 the circle is created! the ring's area is:235.5
时间: 2024-03-24 17:37:30 浏览: 58
好的,我会根据你的要求回答你的问题。
下面是一个实现了Circle类的程序,满足题目的要求:
```c++
#include <iostream>
using namespace std;
class Circle {
public:
Circle(double r = 0.0) {
cout << "the circle is created!" << endl;
m_radius = r;
}
double GetArea() {
return 3.14 * m_radius * m_radius;
}
double GetArea(double innerRadius) {
cout << "the ring's area is:";
return 3.14 * (m_radius * m_radius - innerRadius * innerRadius);
}
private:
double m_radius;
};
int main() {
double r, innerRadius;
cout << "Please enter the radius of the circle: ";
cin >> r;
Circle circle(r);
cout << "the area is:" << circle.GetArea() << endl;
cout << "Please enter the radius of the outer circle: ";
cin >> r;
cout << "Please enter the radius of the inner circle: ";
cin >> innerRadius;
Circle ring(r);
cout << ring.GetArea(innerRadius) << endl;
return 0;
}
```
在这个程序中,我们定义了一个Circle类,有一个数据成员Radius和两个成员函数GetArea。Radius表示圆的半径,GetArea是计算圆或圆环面积的函数。我们使用了函数重载的方式来处理不同的参数个数。当传入一个参数时,我们认为创建圆,计算并返回圆的面积;当传入两个参数时,认为创建圆环,计算并返回圆环的面积。
在主函数中,我们首先输入圆的半径,创建一个Circle对象并计算圆的面积,然后输入内外圆的半径,创建一个新的Circle对象并计算圆环的面积。
这样,就可以满足题目要求进行对象创建和成员函数的测试了。
阅读全文