c++重载运算符
operator<<()重载<<怎么用 它的用处是啥
[解决办法]
比如要实现2个类对象a、b的加法,如何做?
就是operator +
[解决办法]
#include <iostream>using namespace std;class cexample{ int x,y;public: cexample(int a=0,int b=0):x(a),y(b){} friend ostream& operator<<(ostream& out,cexample &obj);};ostream& operator<<(ostream&out ,cexample &obj){ out<<obj.x<<" "<<obj.y<<endl; return out;}int main(){ cexample obj(10,20); cout<<obj;}
[解决办法]
#include <iostream>#include <string>#include <fstream>using namespace std;class A{public: string a;};ostream & operator << (ostream & os,const A classA){ os<<classA.a; return os;}class B{public: string b;};int main(){ A classA; B classB; classA.a="123"; classB.b="456"; cout<<classA<<endl; //这里不会报错 cout<<classB<<endl; //这里会报错}