定义一个圆类,包括题目中要求的数据成员、成员函数并将类外定义的求圆的面积和周长的普通函数声明为友元函数; 2) 定义类中的成员函数; 3) 在类外分别定义求圆的面积和周长的普通函数; 4) 在main函数中声明类的对象并初始化; 5) 使用该对象的成员函数或调用友元函数进行计算并输出结果。
时间: 2023-06-13 17:04:24 浏览: 125
以下是一个圆类的定义及其实现:
```cpp
#include <iostream>
using namespace std;
class Circle {
private:
double radius; // 半径
double pi; // 圆周率
public:
Circle(double r = 1.0, double p = 3.14): radius(r), pi(p) { } // 构造函数
double getArea(); // 成员函数,求圆的面积
double getCircum(); // 成员函数,求圆的周长
friend double area(Circle c); // 友元函数,求圆的面积
friend double circum(Circle c); // 友元函数,求圆的周长
};
double Circle::getArea() {
return pi * radius * radius;
}
double Circle::getCircum() {
return 2 * pi * radius;
}
double area(Circle c) {
return c.pi * c.radius * c.radius;
}
double circum(Circle c) {
return 2 * c.pi * c.radius;
}
int main() {
Circle c1(3.0); // 定义对象并初始化
cout << "The area of the circle is " << c1.getArea() << endl;
cout << "The circumference of the circle is " << c1.getCircum() << endl;
cout << "The area of the circle is " << area(c1) << endl;
cout << "The circumference of the circle is " << circum(c1) << endl;
return 0;
}
```
在上述代码中,我们定义了一个圆类 `Circle`,其中包括数据成员 `radius` 和 `pi`,分别表示圆的半径和圆周率。我们还定义了一个构造函数,用于初始化对象。在类中,我们定义了两个成员函数 `getArea` 和 `getCircum`,分别用于计算圆的面积和周长。同时,我们还将两个普通函数 `area` 和 `circum` 声明为友元函数,并在类外定义它们。最后,在 `main` 函数中,我们声明了一个对象 `c1` 并进行了各种计算。
阅读全文