定义Circle类 1)数据成员: 半径 颜色 2)成员函数: 构造函数 showInfo函数 3)友元函数 运算符重载==:半径和颜色都相同视为相等 运算符重载++(前缀、后缀):半径加1 4)测试程序:创建Circle类两个对象
时间: 2024-02-26 16:56:55 浏览: 76
C++之普通成员函数、虚函数以及纯虚函数的区别与用法要点
好的,我来帮您定义Circle类,代码如下:
```C++
#include <iostream>
using namespace std;
class Circle {
private:
double radius; // 半径
string color; // 颜色
public:
Circle(double r, string c) {
radius = r;
color = c;
}
void showInfo() {
cout << "半径:" << radius << ",颜色:" << color << endl;
}
friend bool operator==(const Circle& c1, const Circle& c2); // 运算符重载==声明
Circle& operator++(); // 前缀运算符重载声明
Circle operator++(int); // 后缀运算符重载声明
};
bool operator==(const Circle& c1, const Circle& c2) { // 运算符重载==定义
return (c1.radius == c2.radius) && (c1.color == c2.color);
}
Circle& Circle::operator++() { // 前缀运算符重载定义
++radius;
return *this;
}
Circle Circle::operator++(int) { // 后缀运算符重载定义
Circle temp(*this);
++radius;
return temp;
}
int main() {
Circle c1(2.5, "red");
Circle c2(2.5, "red");
if (c1 == c2) {
cout << "c1和c2相等" << endl;
} else {
cout << "c1和c2不相等" << endl;
}
++c1;
cout << "前缀++后,c1的半径为:" << c1.showInfo();
c2++;
cout << "后缀++后,c2的半径为:" << c2.showInfo();
return 0;
}
```
测试程序结果:
```
c1和c2相等
前缀++后,c1的半径为:半径:3.5,颜色:red
后缀++后,c2的半径为:半径:3.5,颜色:red
```
希望能对您有所帮助!
阅读全文