实现一个名为SimpleCircle的简单圆类。其数据成员int* itsRadius为一个指向其半径值的指针,存放其半径值。设计对数据成员的各种操作,给出这个类的完整实现并测试这个类。
时间: 2024-05-07 13:15:48 浏览: 86
以下是SimpleCircle类的实现:
```c++
#include <iostream>
class SimpleCircle {
public:
SimpleCircle(int radius = 0) {
itsRadius = new int(radius);
}
SimpleCircle(const SimpleCircle& other) {
itsRadius = new int(*other.itsRadius);
}
~SimpleCircle() {
delete itsRadius;
}
SimpleCircle& operator=(const SimpleCircle& other) {
if (this != &other) {
*itsRadius = *other.itsRadius;
}
return *this;
}
int getRadius() const {
return *itsRadius;
}
void setRadius(int radius) {
*itsRadius = radius;
}
private:
int* itsRadius;
};
int main() {
SimpleCircle c1(5);
SimpleCircle c2(c1);
SimpleCircle c3;
c3 = c1;
std::cout << "c1 radius: " << c1.getRadius() << std::endl;
std::cout << "c2 radius: " << c2.getRadius() << std::endl;
std::cout << "c3 radius: " << c3.getRadius() << std::endl;
c1.setRadius(10);
std::cout << "c1 radius: " << c1.getRadius() << std::endl;
std::cout << "c2 radius: " << c2.getRadius() << std::endl;
std::cout << "c3 radius: " << c3.getRadius() << std::endl;
return 0;
}
```
这个类有一个指向int类型的指针itsRadius,存放圆的半径值。构造函数SimpleCircle(int)根据传入的参数创建一个新的itsRadius指针。拷贝构造函数SimpleCircle(const SimpleCircle&)用于创建一个新的SimpleCircle对象,其itsRadius指针指向另一个SimpleCircle对象的itsRadius指针所指向的值。析构函数~SimpleCircle()用于释放itsRadius指针所占用的内存。赋值运算符operator=()将一个SimpleCircle对象的itsRadius指针所指向的值复制给另一个SimpleCircle对象的itsRadius指针所指向的值。getRadius()和setRadius()分别用于获取和设置圆的半径值。
在main函数中,我们创建了三个SimpleCircle对象c1、c2和c3,并对它们的半径进行了一些操作。最后,我们输出了它们的半径值,以检查这个类是否正常工作。
阅读全文