c语言编写程序【问题描述】声明一个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-02-26 08:59:09 浏览: 61
以下是C语言实现的Circle类代码,包括构造函数、重载函数和主函数:
```c
#include <stdio.h>
#include <stdlib.h>
const double PI = 3.1415926535;
class Circle {
private:
double radius;
public:
Circle(double r = 0) {
radius = r;
printf("the circle is created!\n");
}
double GetArea() {
return PI * radius * radius;
}
double GetArea(double r1, double r2) {
Circle c1(r1), c2(r2);
return c1.GetArea() - c2.GetArea();
}
};
int main() {
double r1, r2;
scanf("%lf", &r1);
Circle c1(r1);
printf("the area is:%.0lf\n", c1.GetArea());
scanf("%lf %lf", &r1, &r2);
printf("the ring's area is:%.1lf\n", c1.GetArea(r1, r2));
return 0;
}
```
在主函数中,首先输入半径r1构造一个Circle对象c1,并调用GetArea()函数计算圆的面积并输出。然后再输入两个半径r1、r2,调用重载的GetArea()函数计算圆环面积并输出。其中,GetArea()函数通过创建两个Circle对象c1、c2来计算圆环面积。注意,在重载函数中,圆环面积的计算是先计算大圆面积再减去小圆面积,需要用到两个Circle对象。
阅读全文