请写一个程序示例运算符重载
时间: 2024-09-29 07:12:17 浏览: 15
在C++中,你可以通过在类中定义特殊的方法来实现运算符重载。这里有一个简单的例子,我们创建一个名为`Vector2D`的类,用于表示二维向量,并重载加法操作符`+`:
```cpp
class Vector2D {
private:
double x;
double y;
public:
// 构造函数
Vector2D(double x = 0, double y = 0) : x(x), y(y) {}
// 重载加法运算符+
Vector2D operator+(const Vector2D &other) const {
return Vector2D(x + other.x, y + other.y);
}
// 显示向量
void display() const {
std::cout << "(" << x << ", " << y << ")" << std::endl;
}
};
int main() {
Vector2D vec1(1, 2);
Vector2D vec2(3, 4);
Vector2D sum = vec1 + vec2; // 自动调用+运算符重载
sum.display(); // 输出 (4, 6)
return 0;
}
```
在这个例子中,当两个`Vector2D`对象相加时,实际上是调用了`operator+`方法。这就是运算符重载的基本应用。当然,还有其他类型的运算符可以重载,比如减法 `-`、乘法 `*` 等,具体取决于需要。