三、编程题。 1. 定义一个圆类(Circle),在该类定义中包括: (1)成员变量:radius(半径)、circumference(圆周长)和area(面积); (2)定义构造函数(以半径为参数,缺省值为0,周长和面积在构造函数中生成)和拷贝
时间: 2024-04-30 15:22:42 浏览: 172
构造函数; (3)定义成员函数get_radius、get_circumference和get_area分别用于获取半径、圆周长和面积的值; (4)定义成员函数set_radius用于设置半径的值,并更新圆周长和面积的值; (5)定义成员函数display用于输出圆的半径、圆周长和面积的值。
以下是圆类的实现代码:
```c++
#include <iostream>
using namespace std;
class Circle {
private:
double radius; // 半径
double circumference; // 圆周长
double area; // 面积
public:
// 构造函数
Circle(double r = 0) {
radius = r;
circumference = 2 * 3.14159 * radius;
area = 3.14159 * radius * radius;
}
// 拷贝构造函数
Circle(const Circle& c) {
radius = c.radius;
circumference = c.circumference;
area = c.area;
}
// 获取半径
double get_radius() const {
return radius;
}
// 获取圆周长
double get_circumference() const {
return circumference;
}
// 获取面积
double get_area() const {
return area;
}
// 设置半径
void set_radius(double r) {
radius = r;
circumference = 2 * 3.14159 * radius;
area = 3.14159 * radius * radius;
}
// 输出圆的信息
void display() const {
cout << "半径:" << radius << endl;
cout << "圆周长:" << circumference << endl;
cout << "面积:" << area << endl;
}
};
int main() {
Circle c1(5); // 创建一个半径为5的圆
c1.display();
Circle c2 = c1; // 拷贝构造函数
c2.set_radius(3);
c1.display();
c2.display();
return 0;
}
```
该程序的输出结果为:
```
半径:5
圆周长:31.4159
面积:78.5398
半径:5
圆周长:31.4159
面积:78.5398
半径:3
圆周长:18.8496
面积:28.2743
```
可以看到,程序正确地输出了圆的信息,并且拷贝构造函数也能够正确地复制圆的信息。
阅读全文