定义一个“圆”类私有成员变量:半径; 公有成员函数:2种构造函数+析构函数士设置圆半径+读取圆半径+求圆的周长+求圆面积; (类外定义) main函数: 定义圆类数组和类指针,计算并输出各圆对象的面积和周长大小。
时间: 2024-09-20 15:13:38 浏览: 56
实验一 类和对象(一).zip
在面向对象编程中,你可以按照这个描述来定义一个"Circle"类,包含所需的私有成员变量和公有方法。以下是详细的代码示例:
```cpp
#include <iostream>
class Circle {
private:
double radius; // 私有成员变量:半径
public:
// 构造函数1:默认初始化
Circle() : radius(0) {}
// 构造函数2:接受参数初始化
explicit Circle(double r) : radius(r) {}
// 析构函数(释放资源,这里不需要特别处理,因为C++自动管理内存)
~Circle() {}
// 公有方法:设置半径
void setRadius(double newRadius) {
if (newRadius >= 0) {
radius = newRadius;
} else {
std::cout << "错误:半径不能为负数!\n";
}
}
// 公有方法:读取半径
double getRadius() const {
return radius;
}
// 公有方法:求圆的周长
double circumference() const {
return 2 * M_PI * radius;
}
// 公有方法:求圆的面积
double area() const {
return M_PI * radius * radius;
}
};
// 主函数
int main() {
// 类型定义
Circle circles[5]; // 圆类数组
Circle* circlePtrs[5]; // 圈类指针
// 初始化圆对象和指针
for (size_t i = 0; i < 5; ++i) {
// 使用构造函数初始化数组元素
circles[i] = Circle(i + 1);
// 或者使用指针初始化
circlePtrs[i] = new Circle(i + 1);
// 计算并输出面积和周长
std::cout << "圆 " << i + 1 << " 的半径:";
std::cout << circles[i].getRadius() << " | ";
std::cout << "周长:";
std::cout << circles[i].circumference() << " | ";
std::cout << "面积:";
std::cout << circles[i].area() << "\n";
// 指针操作
std::cout << "指针圆 " << i + 1 << " 的半径:";
std::cout << (*circlePtrs[i]).getRadius() << " | ";
std::cout << "周长:";
std::cout << (*circlePtrs[i]).circumference() << " | ";
std::cout << "面积:";
std::cout << (*circlePtrs[i]).area() << "\n";
}
// 清理指针
for (size_t i = 0; i < 5; ++i) {
delete circlePtrs[i];
}
return 0;
}
```
这段代码首先定义了Circle类,然后在main函数中创建了数组和指针实例,并计算和打印它们的面积和周长。
阅读全文