复数的四则与运算(成员函数的重载)
- 格式:doc
- 大小:27.50 KB
- 文档页数:6
//重载复数的四则运算程序
#include
class complex
{
private:
fioat r; fioat i;
public:
complex(){}
void input()
{ cin >>r>>i;}
void output();
complex operator+(complex t);
complex operator-(complex t);
complex operator*(complex t);
complex operator/(complex t);
};
//输出复数
void complex::output()
{
if(i>0)
cout< cout< else cout< } //复数+操作符的重载 complex complex::operator+(complex t) { complex z; z.r = r+t.r; z.i = i+t.i; return z; } //复数-操作符的重载 complex complex::operator-(complex t) { complex z; z.r = r-t.r; z.i = i-t.i; return z; } //复数*操作符的重载 complex complex::operator*(complex t) { complex z; z.r = r*t.r-i*t.i; z.i =i*t.r+r*t.i; return z; } //复数/操作符的重载 complex complex::operator/(complex t) { complex z; if(t.i==0&&t.i==0) cout<<"除数不可以是0"< else { z.r = (r*t.r+i*t.i)/(t.r*t.r+t.i*t.i); z.i = (i*t.r-r*t.i)/(t.r*t.r+t.i*t.i); } return z; } # include # include"complex.h" int main() { complex a,b,c; a.input(); b.input(); cout << "两个源操作数是:"< a.output(); b.output(); cout << "两个数相加为:"< c = a+b; c.output(); cout << "两个数相减为:"< c = a-b; c.output(); cout << "两个数相乘为:"< c= a*b; c.output(); cout << "两个数相除为:"< c = a/b; c.output(); return 0;