#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;
}
注:重載操作符的原理大都有編譯器來做了,比如會根據操作符左右兩邊的對象類型(從左到右的順序),然後選擇適當的函數,並進行轉化。