我们知道c语言中可以整型数据或浮点型等做四则运算,而自己写的类也可做四则运算,是不是感觉奇怪,可以看以下代码是如何完成类之间的四则运算:

#include "stdafx.h"
#include
using namespace std;
class A {
public:
A(double r1=0,double i1=0) {
r = r1;
i = i1;
}
public:
double r;
double i;
};
A operator+ (A a1, A a2) {
A a;
a.r = a1.r + a2.r;
a.i = a1.i + a2.i;
return a;
} //此函数为运算符重载
int main()
{
A a1(5, 6), a2(7, 9), plu;
plu = a1 + a2; //此步骤表示了类之间的四则运算,词步骤也可写成函数调用 //plu = operator+ (a1, a2)
cout <<"plu.r="<< plu.r <<" "<<"plu.i="<< plu.i << endl;
while (1);
return 0;
}