📅  最后修改于: 2023-12-03 14:51:15.182000             🧑  作者: Mango
C++中可以对部分运算符进行重载,以实现我们自定义的操作。重载后的运算符可以像原始运算符一样使用,但它们执行不同的操作,这样就可以方便我们自定义类型的行为。
以下是在C++中可以重载的运算符:
+
, -
, *
, /
, %
+
, -
, ++
, --
, !
, ~
==
, !=
, <
, >
, <=
, >=
&
, |
, ^
, <<
, >>
=
, +=
, -=
, *=
, /=
, %=
, &=
, |=
, ^=
, <<=
, >>=
[]
()
->
.*
我们可以使用类和重载运算符的组合来创建自定义类型,这样可以方便我们进行自定义类型的各种操作,例如:
class Vector {
public:
Vector(int x, int y) : x_(x), y_(y) {}
// 重载运算符 "+"
Vector operator+(const Vector& other) const {
return Vector(x_+other.x_, y_+other.y_);
}
// 重载运算符 "-"
Vector operator-(const Vector& other) const {
return Vector(x_-other.x_, y_-other.y_);
}
private:
int x_;
int y_;
};
int main() {
Vector v1(1, 2);
Vector v2(2, 3);
Vector v3 = v1 + v2; // 调用重载的 "+" 运算符
Vector v4 = v1 - v2; // 调用重载的 "-" 运算符
return 0;
}
以上代码演示了如何重载运算符 "+" 和 "-",并在自定义类型 Vector 上使用。