定义一个圆类,计算圆的面积和周长。要求:分别用成员函数和友元函数来求圆的面积和周长。
时间: 2023-06-13 07:04:47 浏览: 305
以下是圆类的代码实现:
```cpp
#include <iostream>
using namespace std;
class Circle {
private:
double radius; // 圆的半径
public:
Circle(double r) {
radius = r;
}
double getRadius() {
return radius;
}
double getArea() {
return 3.14 * radius * radius;
}
double getPerimeter() {
return 2 * 3.14 * radius;
}
};
// 友元函数
void printCircle(Circle c) {
cout << "半径为 " << c.getRadius() << " 的圆的面积为:" << c.getArea() << endl;
cout << "半径为 " << c.getRadius() << " 的圆的周长为:" << c.getPerimeter() << endl;
}
int main() {
Circle c(5);
printCircle(c);
return 0;
}
```
我们定义了一个 Circle 类,其中包含一个私有数据成员 radius,表示圆的半径。类中还包含了三个公有成员函数:
- 构造函数:用于初始化圆的半径。
- getArea():用于计算圆的面积。
- getPerimeter():用于计算圆的周长。
我们还定义了一个友元函数 printCircle(),该函数可以访问 Circle 类的私有成员 radius,用于输出圆的面积和周长。
在主函数中,我们创建了一个 Circle 对象 c,然后调用 printCircle() 函数来输出圆的面积和周长。
阅读全文