在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
对象并使用重载的加法运算符将它们相加,然后将结果输出到控制台。