用C++语言编程实现一个Circle类,允许以半径或面积或周长来构造该类对象,写出构造函数和拷贝构造函数,并写出设置和获取周长、半径、面积的函数。在主函数中测试。
时间: 2023-03-23 20:02:51 浏览: 105
第一次学C++,编写的小程序来求圆的周长和面积
好的,以下是用 C 语言实现一个 Circle 类的示例代码:
```c
#include <stdio.h>
#define PI 3.14159265358979323846
typedef struct {
double radius;
} Circle;
double get_area(Circle c) {
return PI * c.radius * c.radius;
}
double get_circumference(Circle c) {
return 2 * PI * c.radius;
}
void set_radius(Circle *c, double radius) {
c->radius = radius;
}
double get_radius(Circle c) {
return c.radius;
}
int main() {
Circle c;
set_radius(&c, 5.0);
printf("Radius: %.2f\n", get_radius(c));
printf("Area: %.2f\n", get_area(c));
printf("Circumference: %.2f\n", get_circumference(c));
return 0;
}
```
这里我们定义了一个 Circle 结构体,它只包含一个半径的属性。我们使用 `typedef` 定义了 Circle 类型,可以更方便地使用它。然后,我们实现了三个函数:`get_area`、`get_circumference` 和 `set_radius`。前两个函数用于计算圆的面积和周长,后一个函数用于设置圆的半径。我们还实现了一个 `get_radius` 函数,用于获取圆的半径。
在 `main` 函数中,我们创建了一个 Circle 对象 `c`,并将其半径设置为 5.0。然后,我们调用 `get_radius`、`get_area` 和 `get_circumference` 函数,并输出结果。
请注意,我们使用了 `#define` 指令来定义圆周率 PI 的值。由于 PI 是一个常数,因此在编译时就可以计算出它的值,从而提高了程序的效率。
阅读全文