运算符的重载在一定程度上扩大了 C++ 已有运算符的作用, 使运算符能用于类对象的运算。这是其一大优点。
利用成员函数和友元函数重载运算符。
#include "iostream"
using namespace std;
class Complax
{
private:
double real,imag;
public:
Complax()
{
real=0;imag=0;
}
Complax(double r,double i)
{
real=r;
imag=i;
}
Complax operator+ (Complax &c);//重载+运算符
friend ostream& operator <<(ostream&,Complax &);//重载"<<"
friend istream& operator >>(istream&,Complax &);//重载">>"
};
Complax Complax::operator+ (Complax &c)
{
return Complax(real+c.real,imag+c.imag);
}
ostream& operator <<(ostream&put, Complax &c1)
{
put<<"("<<c1.real<<"+"<<c1.imag<<"i"<<")";
return put;
}
istream& operator >>(istream&in,Complax &c2)
{
in>>c2.real>>c2.imag;
return in;
}
int main()
{
Complax c1(2,4),c3;
Complax c2;
cin>>c2;
c3=c1+c2;
cout<<c1<<endl<<c3<<endl;
system("pause");
return 0;
}
以上就是关于输入,输出,加号的重载,如有不懂的地方,评论区见!!!