1、编写一个关于圆形的C++程序。要求定义一个圆形类Circle,其中包含如下成员: 1)1个私有数据成员(半径); 2)3个公有函数成员(设置半径、计算面积、计算周长); 3)3个构造函数(不带参数的构造函数、带参数的构造函数和拷贝构造函数)。
时间: 2024-10-13 19:10:50 浏览: 0
当然可以。首先,我们定义一个名为`Circle`的C++类,它将包含所需的功能:
```cpp
#include <iostream>
class Circle {
private:
// 私有数据成员(半径)
double radius;
public:
// 构造函数
// 无参构造函数
Circle() : radius(0) {}
// 带参数的构造函数
Circle(double r) : radius(r) {}
// 拷贝构造函数
Circle(const Circle& other) : radius(other.radius) {}
// 公有成员函数 - 设置半径
void setRadius(double new_radius) {
if (new_radius >= 0)
radius = new_radius;
else
std::cout << "Invalid radius, setting to 0." << std::endl;
}
// 公有成员函数 - 计算面积
double calculateArea() const {
return M_PI * radius * radius;
}
// 公有成员函数 - 计算周长
double calculateCircumference() const {
return 2 * M_PI * radius;
}
};
int main() {
Circle circle1; // 使用默认构造函数
circle1.setRadius(5); // 设置半径
Circle circle2(7.5); // 使用带参数构造函数
circle2.setRadius(10); // 修改半径
Circle circle3(circle2); // 使用拷贝构造函数
std::cout << "Circle 1 area: " << circle1.calculateArea() << std::endl;
std::cout << "Circle 2 area: " << circle2.calculateArea() << std::endl;
std::cout << "Circle 3 area: " << circle3.calculateArea() << std::endl;
return 0;
}
```
在这个例子中,`Circle`类包含了三个公有成员函数:一个用于设置半径,两个用于计算圆的面积和周长。此外,还提供了三种构造函数,满足题目所给的需求。