分析、设计并实现一个自己的“圆类”。要求要有公有和私有的成员,要有在类体中实现的成员函数,也要有在类外实现的成员函数
时间: 2024-02-18 18:06:29 浏览: 50
分析:
我们需要实现一个圆类,类中需要有半径、周长和面积等成员变量,还需要有计算周长和面积的成员函数。
设计:
- 类名:Circle
- 成员变量:
| 变量名 | 变量类型 | 访问权限 | 描述 |
| ----- | ------- | -------- | ---- |
| radius | double | private | 圆的半径 |
- 成员函数:
| 函数名 | 返回值类型 | 访问权限 | 描述 |
| ----- | --------- | -------- | ---- |
| Circle | 无 | public | 默认构造函数 |
| Circle | 无 | public | 析构函数 |
| setRadius | void | public | 设置圆的半径 |
| getRadius | double | public | 获取圆的半径 |
| getPerimeter | double | public | 获取圆的周长 |
| getArea | double | public | 获取圆的面积 |
实现:
```c++
#include <iostream>
using namespace std;
class Circle {
private:
double radius; // 圆的半径
public:
Circle() {
radius = 0.0;
}
Circle(double r) {
radius = r;
}
~Circle() {
cout << "Circle destructor called." << endl;
}
void setRadius(double r) {
radius = r;
}
double getRadius() {
return radius;
}
double getPerimeter() {
return 2 * 3.14 * radius;
}
double getArea() {
return 3.14 * radius * radius;
}
};
int main() {
Circle c1(5.0);
cout << "圆的半径是:" << c1.getRadius() << endl;
cout << "圆的周长是:" << c1.getPerimeter() << endl;
cout << "圆的面积是:" << c1.getArea() << endl;
c1.setRadius(10.0);
cout << "圆的半径是:" << c1.getRadius() << endl;
cout << "圆的周长是:" << c1.getPerimeter() << endl;
cout << "圆的面积是:" << c1.getArea() << endl;
return 0;
}
```
上述代码中,我们定义了一个 `Circle` 类,该类具有一个私有成员变量 `radius`(圆的半径)和四个公有成员函数 `setRadius`(设置圆的半径)、`getRadius`(获取圆的半径)、`getPerimeter`(获取圆的周长)和 `getArea`(获取圆的面积)。在 `main` 函数中,我们创建一个 `Circle` 类的对象 `c1`,并使用 `getRadius`、`getPerimeter` 和 `getArea` 函数获取圆的半径、周长和面积。我们还使用 `setRadius` 函数修改了圆的半径,并重新计算了圆的周长和面积。最后,我们输出了圆的半径、周长和面积。
阅读全文