在 C++ 中,operator 关键字用于操作符重载,允许开发者为自定义类型定义自己的操作符,支持标准库函数和操作符使用:一元操作符重载:用于单目操作,如 +、-、*。二元操作符重载:用于双目操作,如 +、-、==。赋值操作符重载:用于赋值操作,如 =、+=、-=。其他操作符重载:如流插入运算符 (<<) 和流提取运算符 (>>)。
operator 在 C++ 中的用法
operator 在 C++ 中是一个操作符重载关键字,它允许开发者为自定义类型定义自己的操作符。通过操作符重载,我们可以让自定义类型支持
标准库
函数和操作符。
语法
其中
是要重载的操作符。
立即学习
“
C++免费学习笔记(深入)
”;
用法
C函数速查手册(CHM版)
C函数速查手册(CHM版)
下载
一元操作符重载:
用于实现单目操作,例如
、
、
等。
二元操作符重载:
用于实现双目操作,例如
、
、
等。
赋值操作符重载:
用于实现赋值操作,例如
、
、
等。
其他操作符重载:
C++ 还支持其他操作符重载,例如流插入运算符 (
) 和流提取运算符 (
)。
示例
以下示例演示了如何重载
操作符:
在这个示例中,我们创建了一个名为
的类,它重载了
操作符以实现向量的相加。我们还重载了
流插入运算符以自定义向量的输出。
优点
操作符重载提供了以下优点:
增强了
代码可读性
和可维护性。
允许将自定义类型与标准库函数和操作符一起使用。
促进了代码重用和扩展性。
operator op() { ... }op+-*+-===+=-=<<>>+#include
class Vector {
public:
int x, y;
Vector(int x, int y) : x(x), y(y) {}
Vector operator+(const Vector& v) {
return Vector(x + v.x, y + v.y);
}
friend std::ostream& operator<<(std::ostream& os, const Vector& v) {
os << "(" << v.x << ", " << v.y << ")";
return os;
}
};
int main() {
Vector v1(1, 2);
Vector v2(3, 4);
Vector v3 = v1 + v2;
std::cout << v3 << std::endl; // 打印 (4, 6)
return 0;
} Vector+<<