用c++完成圆的抽象数据类型形式定义和实现
时间: 2024-09-13 16:17:17 浏览: 42
基于C++实现(控制台)抽象数据类型B树【100010603】
在C++中,圆的抽象数据类型(ADT)可以通过定义一个类来实现。这个类将包含圆的属性,如半径,以及操作这些属性的方法,例如计算圆的周长和面积。下面是一个简单的圆类的定义和实现的例子:
```cpp
#include <iostream>
#include <cmath>
// 定义圆类
class Circle {
private:
double radius; // 半径
public:
// 构造函数
Circle(double r) : radius(r) {}
// 设置圆的半径
void setRadius(double r) {
radius = r;
}
// 获取圆的半径
double getRadius() const {
return radius;
}
// 计算圆的周长
double calculatePerimeter() const {
return 2 * M_PI * radius;
}
// 计算圆的面积
double calculateArea() const {
return M_PI * radius * radius;
}
};
int main() {
// 创建一个半径为5的圆对象
Circle circle(5.0);
// 输出圆的周长和面积
std::cout << "圆的周长: " << circle.calculatePerimeter() << std::endl;
std::cout << "圆的面积: " << circle.calculateArea() << std::endl;
// 修改半径并重新计算
circle.setRadius(10.0);
std::cout << "修改半径后的圆周长: " << circle.calculatePerimeter() << std::endl;
std::cout << "修改半径后的圆面积: " << circle.calculateArea() << std::endl;
return 0;
}
```
这个例子中,我们定义了一个名为`Circle`的类,它有一个私有成员变量`radius`来存储圆的半径。我们提供了一个构造函数来初始化圆的半径,以及公共成员函数`setRadius`和`getRadius`来设置和获取圆的半径。此外,还有`calculatePerimeter`和`calculateArea`两个公共成员函数用于计算圆的周长和面积。
阅读全文