用c++设计一个圆形类,其属性有圆心点的坐标,和半径。成员函数可以求圆的周长和面积,圆的移动以及显示圆的周长和面积和当前圆心位置。在类中定义可以为属性进行初始化的构造函数。编写主函数测试其功能。」
时间: 2024-10-23 18:11:00 浏览: 40
2019011008_刘雪枫_第(3)次作业1
在C++中,我们可以创建一个Circle类来表示一个圆,它包含圆心的x和y坐标以及半径作为私有数据成员,提供计算周长和面积的方法。这里是一个简单的实现示例:
```cpp
#include <iostream>
#include <cmath> // 引入math库用于平方根和PI
class Circle {
private:
double centerX; // 圆心点的x坐标
double centerY; // 圆心点的y坐标
double radius; // 半径
public:
// 构造函数,允许通过初始值初始化圆的属性
Circle(double x = 0, double y = 0, double r = 0) : centerX(x), centerY(y), radius(r) {}
// 计算并返回圆的周长
double getPerimeter() const {
return 2 * M_PI * radius;
}
// 计算并返回圆的面积
double getArea() const {
return M_PI * pow(radius, 2);
}
// 移动圆的位置
void move(double newX, double newY) {
centerX = newX;
centerY = newY;
}
// 显示圆的信息
void display() const {
std::cout << "圆心坐标: (" << centerX << ", " << centerY << "), 半径: " << radius << std::endl;
std::cout << "周长: " << getPerimeter() << ", 面积: " << getArea() << std::endl;
}
};
int main() {
// 创建一个Circle实例,并设置初始值
Circle circle(3, 4, 5);
// 测试圆的相关操作
circle.move(6, 7);
circle.display();
// 计算并打印新的周长和面积
std::cout << "移动后的周长: " << circle.getPerimeter() << ", 面积: " << circle.getArea() << std::endl;
return 0;
}
```
在这个例子中,`main`函数里首先创建了一个Circle对象并设置了初始位置。然后我们移动了圆的位置,展示它的信息,最后再次计算和显示移动后的周长和面积。
阅读全文