c++

c++operator如何定义

小樊
81
2024-11-19 16:22:47
栏目: 编程语言

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

0
看了该问题的人还看了