在C++中,运算符重载是一种允许你自定义已有运算符行为的方法。要定义一个运算符,你需要创建一个函数,该函数的名称和参数与原始运算符相同。这里有一个简单的例子,展示了如何重载加法运算符(+)以支持两个自定义类的对象相加:
#include <iostream>
class MyClass {
public:
int value;
MyClass(int v) : value(v) {}
};
// 重载加法运算符(+)
MyClass operator+(const MyClass& lhs, const MyClass& rhs) {
int sum = lhs.value + rhs.value;
return MyClass(sum);
}
int main() {
MyClass a(3);
MyClass b(4);
MyClass c = a + b; // 使用重载的加法运算符
std::cout << "c.value = " << c.value << std::endl; // 输出 "c.value = 7"
return 0;
}
在这个例子中,我们定义了一个名为MyClass
的类,它具有一个名为value
的整数成员变量。然后,我们重载了加法运算符(+),使其接受两个MyClass
对象作为参数,并返回一个新的MyClass
对象,其value
成员变量等于两个输入对象的value
之和。在main
函数中,我们创建了两个MyClass
对象并使用重载的加法运算符将它们相加,然后将结果输出到控制台。