定义一个圆类,包含2个私有数据成员(半径和常量pi),公有的构造函数,输出面积函数。 根据main函数及输入输出样例完善Circle类的定义。 函数接口定义: 裁判测试程序样例: #include <iostream> using namespace std; class Circle{ double r; const double pi; /* 你提交的代码会出现在这里*/ int main() { double r1,r2; cin>>r1>>r2; const Circle c1(r1,3.14); Circle c2(r2,3.14159); c1.showArea(); c2.showArea(); return 0; } 输入样例: 1.2 3.1 输出样例: Circle(r=1.2)'s area is 4.5216 Circle(r=3.1)'s area:30.1907 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB C++ (g++) 1 2 3 4 5
时间: 2025-06-25 07:22:18 浏览: 11
### 完善 Circle 类的定义
为了在 C++ 中实现一个包含半径和 π 值的 `Circle` 类,可以按照以下方式设计该类。以下是具体的实现细节:
#### 私有成员变量
将 `radius` 和常量 `PI` 设为私有成员变量,以遵循封装原则。
#### 构造函数
提供两个构造函数:一个是无参数的默认构造函数,另一个是有参数的构造函数用于初始化半径。
#### 计算圆面积的方法
通过 `showArea()` 方法返回圆的面积值。
下面是完整的 C++ 实现代码:
```cpp
#include <iostream>
using namespace std;
class Circle {
private:
double radius;
const static double PI; // 静态常量表示π
public:
// 默认构造函数
Circle() : radius(0.0) {}
// 有参构造函数
Circle(double r) : radius(r) {}
// 显示圆周长的功能
double showPerimeter() const {
return 2 * PI * radius; // 圆周长公式[^1]
}
// 显示圆面积的功能
double showArea() const {
return PI * radius * radius; // 圆面积公式
}
};
// 初始化静态常量 PI 的值
const double Circle::PI = 3.14159265358979323846;
int main() {
Circle circle1; // 使用无参构造函数创建对象
cout << "Default Circle Area: " << circle1.showArea() << endl;
Circle circle2(5); // 使用有参构造函数创建对象
cout << "Circle with Radius 5 Perimeter: " << circle2.showPerimeter() << endl;
cout << "Circle with Radius 5 Area: " << circle2.showArea() << endl;
return 0;
}
```
上述代码实现了以下功能:
- **私有成员变量**:`radius` 被设为私有,防止外部直接访问;`PI` 是一个静态常量,存储 π 的精确值。
- **构造函数**:提供了两种形式的构造函数来满足不同的需求。
- **方法实现**:`showPerimeter()` 返回圆的周长,而 `showArea()` 则返回圆的面积。
---
阅读全文
相关推荐













