#include <iostream>
using namespace std;
class item;
ostream & operator <<(ostream & os, item& _item);
class item {
public:
friend ostream& operator<< (ostream& os, item& _item);
int i;
item(int m) : i(m) {}
void operator <<(ostream& os) {
cout << this->i;
// return os;
}
};
ostream & operator <<(ostream & os, item & _item) {
os << "在操作符中:" << _item.i;
return os;
}
int main() {
item a(1), b(2);
a = b;
cout << a.i << endl;
cout << &a << endl;
cout << a << endl;
return 0;
}
注:重载操作符的原理大都有编译器来做了,比如会根据操作符左右两边的对象类型(从左到右的顺序),然后选择适当的函数,并进行转化。
本文通过一个C++示例介绍了如何实现操作符重载,包括如何定义友元函数来实现重载以及如何在类成员函数中使用重载。展示了重载操作符在输出流中的应用。
3303

被折叠的 条评论
为什么被折叠?



