重载+-运算符c++
时间: 2024-06-04 13:04:38 浏览: 111
C++ 运算符重载
在C++中,可以重载运算符来改变运算符的默认行为,使其适用于特定类的对象。其中包括+、-、*、/等等。
重载+运算符时需要注意以下几点:
1. 只有至少一个操作数是类对象时才能重载。
2. 不能重载原有的运算符,如不支持重载“&&”、“||”、“,”、“->”、“.”等。
3. 不能改变运算符的优先级和结合性。
4. 重载的运算符函数必须是类的成员函数或友元函数。
5. 重载的运算符函数名为“operator+”。
例如,我们可以定义一个名为“Vector”的类,并重载它的“+”运算符,以便我们可以使用“+”将两个Vector对象相加。具体实现代码如下:
```
class Vector {
public:
Vector operator+(const Vector& vec) {
Vector result;
result.x = x + vec.x;
result.y = y + vec.y;
return result;
}
private:
int x, y;
};
```
以上代码中,“Vector operator+(const Vector& vec)”是重载的加法运算符函数。它通过接受一个类型为Vector的常引用参数,计算并返回一个新的Vector对象。我们可以在程序中像下面这样使用它:
```
Vector v1(1, 2), v2(2, 3);
Vector v3 = v1 + v2;
```
以上代码中,v1和v2是两个Vector对象,v3是它们相加后得到的新Vector对象。
阅读全文