在c++中,cout是输出流ostream的对象,cin是输入流istream的对象。
注意:
1.重载输入输出运算符不能是类的成员函数,可以是普通函数或者类的友元函数。
2.如果重载输出运算符函数要访问类的非公有成员,应该把重载运算符函数定义为类的友元函数。
#include<iostream>
using namespace std;
class B
{
public:
int a;
int b;
B(int a,int b)
{
this->a=a;
this->b=b;
}
};
B& operator+(B& b1,B& b2)
{
b1.a=b1.a+b2.a;
b1.b=b1.b+b2.b;
return b1;
}
ostream& operator<<(ostream& op,B &b)
{
op<<"a= "<<b.a<<" b= "<<b.b;
return op;
}
istream& operator>>(istream& ip,B &b)
{
ip>>b.a>>b.b;
return ip;
}
int main()
{
B b1(1,2);
B b2(2,3);
B b3=b1+b2;
cout<<"b3: "<<b3<<endl;
cout<<"输入b1:"<<endl;
cin>>b1;
cout<<"b1: "<<b1<<endl;
system("pause");
}