用c++语言构造一个圆类Circle,属性为半径radius、圆周长和面积,实现根据输入的半径计算周长和面积并输出。要求定义以半径为参数、缺省值为0的构造函数,且周长和面积的计算在构造函数中实现
时间: 2024-11-09 22:18:24 浏览: 36
在 C++ 中,我们可以创建一个名为 "Circle" 的类来表示圆,并包含半径(radius)、周长(circumference)和面积(area)作为成员变量。为了满足要求,我们会在类中定义一个默认构造函数接受可选的半径参数,同时在构造函数内部计算周长和面积。
```cpp
#include <iostream>
#include <cmath> // 引入数学库用于计算π和面积
class Circle {
private:
double radius; // 半径
double circumference; // 圆周长
double area; // 面积
public:
// 构造函数,带参数的构造函数,默认半径为0
Circle(double r = 0) : radius(r) {
if (r > 0) {
circumference = 2 * M_PI * radius; // 计算周长
area = M_PI * pow(radius, 2); // 计算面积
} else {
std::cout << "Error: Radius must be greater than zero!" << std::endl;
}
}
// 主要方法:获取和设置半径,以及输出周长和面积
void setRadius(double newRadius) {
if (newRadius > 0) {
radius = newRadius;
circumference = 2 * M_PI * radius;
area = M_PI * pow(radius, 2);
} else {
std::cout << "Error: New radius must be greater than zero!" << std::endl;
}
}
void displayProperties() const {
std::cout << "Radius: " << radius << ", Circumference: " << circumference << ", Area: " << area << std::endl;
}
};
int main() {
// 创建一个半径为5的圆对象
Circle circle(5);
circle.displayProperties();
// 修改圆的半径并显示新属性
circle.setRadius(7);
circle.displayProperties();
return 0;
}
```
阅读全文