定义一个复数类Complex,重载运算符“+”,用于复数的加法运算求两个复数之和、整数和复数之和。
定义一个复数类Complex ,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象, 也可以其中有一个是整数,顺序任意。如cl+c2,i+cl.cl+i均合法(设i为整数,c1,c2为复数)。编程序,分别求两个复数之和、整数和复数之和。
可以采用普通函数重载,也可以采用成员函数重载,如采用成员函数重载,对于两个复数的相加运算与第3题类似。
现采用成员函数来重载c1+i(采用成员函数是不能重载i+c1,因为第一个操作数为i,是基本数据类型的数据)。
Complex Complex::operator+(int i)
{Complex c;
c.real=real+i;
return c;
}
这时,表达式c1+i相当于调用c1.operator+(i).
接下来采用普通函数重载i+c1,这是要声明该函数为友元。
Complex operator+( int i,Complex &c2)
{Complex c;
c.real=i+c2.real;
return c;
}
这时表达式i+c1相当于调用operator+(i,c1)
我写过的Complex参考 ,这个一般教材上都有的
热门标签: