成员函数运算符重载代码
时间: 2023-08-21 18:07:57 浏览: 93
当我们需要在自定义的类中使用运算符进行特定操作时,可以使用成员函数运算符重载。下面是一个示例代码,演示了如何重载成员函数运算符:
```cpp
#include <iostream>
class MyClass {
public:
int num;
MyClass(int n) : num(n) {}
// 重载加法运算符 '+'
MyClass operator+(const MyClass& other) {
MyClass result(num + other.num);
return result;
}
// 重载输出流运算符 '<<'
friend std::ostream& operator<<(std::ostream& os, const MyClass& obj);
};
// 重载输出流运算符 '<<'
std::ostream& operator<<(std::ostream& os, const MyClass& obj) {
os << obj.num;
return os;
}
int main() {
MyClass obj1(5);
MyClass obj2(10);
// 使用重载的加法运算符 '+'
MyClass result = obj1 + obj2;
std::cout << "Result: " << result << std::endl;
return 0;
}
```
在上面的代码中,我们定义了一个名为 `MyClass` 的类。我们重载了加法运算符 `+`,使其能够对两个 `MyClass` 对象进行相加,并返回一个新的 `MyClass` 对象。此外,我们还重载了输出流运算符 `<<`,使其能够直接输出 `MyClass` 对象的内容。
在 `main` 函数中,我们创建了两个 `MyClass` 对象 `obj1` 和 `obj2`,然后使用重载的加法运算符 `+` 将它们相加,并将结果存储在 `result` 对象中。最后,我们使用重载的输出流运算符 `<<` 将 `result` 输出到标准输出流。
运行上述代码,将会输出:
```
Result: 15
```
这说明我们成功地重载了加法运算符 `+` 和输出流运算符 `<<`。
阅读全文