在类中重载运算符可以使得类对象能够像基本数据类型一样进行相应的操作。对于运算符'+='和'<<'的重载,可以通过重载成员函数或友元函数来实现。
以下是使用成员函数和友元函数分别重载'+='和'<<'运算符的示例:
#include <iostream>
class MyClass {
private:
int value;
public:
MyClass(int val) : value(val) {}
// 重载'+='运算符的成员函数版本
MyClass& operator+=(const MyClass& other) {
value += other.value;
return *this;
}
// 重载'<<'运算符的友元函数版本
friend std::ostream& operator<<(std::ostream& os, const MyClass& obj) {
os << obj.value;
return os;
}
};
int main() {
MyClass obj1(10);
MyClass obj2(20);
obj1 += obj2; // 使用重载的'+='运算符进行相加并赋值
std::cout << obj1 << std::endl; // 使用重载的'<<'运算符输出对象信息
return 0;
}
以上示例中,重载了'+='运算符的成员函数版本实现了对象的相加并赋值操作,重载'<<'运算符的友元函数版本实现了对象信息的输出。
领取专属 10元无门槛券
手把手带您无忧上云