c++定义一个圆类,计算圆的面积和周长。 要求:分别用成员函数和友元函数来求圆的面积和周长
时间: 2024-11-03 21:16:44 浏览: 46
在C++中,我们可以定义一个名为Circle的类来表示圆形,包括半径作为数据成员,并提供成员函数计算面积和周长。这里是一个简单的例子:
```cpp
#include <cmath> // 引入math库用于计算圆周率和幂运算
class Circle {
public:
// 定义构造函数,初始化半径
Circle(double radius) : r(radius) {}
// 成员函数(计算面积)
double getArea() const {
return M_PI * r * r; // 使用M_PI常量,它是math库的一部分
}
// 成员函数(计算周长)
double getCircumference() const {
return 2 * M_PI * r;
}
private:
// 数据成员:圆的半径
double r;
// 友元函数用于直接访问私有变量r
friend std::ostream& operator<<(std::ostream& os, const Circle& circle);
};
// 友元函数定义,使得可以将Circle对象直接输出到流中
std::ostream& operator<<(std::ostream& os, const Circle& circle) {
os << "Circle with radius: " << circle.r << ", Area: " << circle.getArea()
<< ", Circumference: " << circle.getCircumference();
return os;
}
```
使用这个类的方式如下:
```cpp
int main() {
Circle myCircle(5.0); // 创建一个半径为5的圆
std::cout << myCircle << std::endl; // 输出圆的属性
return 0;
}
```
阅读全文