C++中用运算符重载实现复读的运算
秣码厉兵 2019-04-25 08:23:22 #include <iostream.h>
class Complex
{public:
Complex( ){
real=0;
imag=0;}//定义一个构造函数。
Complex(int a,int b ) {
real=a;
imag=b;}
Complex(int a){
real=a;
imag=0;}//使用Complex方法传递参数。
friend Complex operator+( ){ };
friend Complex operator-( ){ };
friend Complex operator*( ){ };
friend Complex operator/( ){ };//运算符重载函数的声明。
void display( );//函数声明。
private:
int real;
int imag;
}
Complex operator+(Complex c1,Complex c2){
return{c1.real+c2.real,c1.imag+c2.imag};
}
Complex operator-(Complex c1,Complex c2){
return{c1.real-c2.real,c1.imag-c2.imag};
}
Complex operator*(Complex c1,Complex c2){
return{c1.real*c2.real,c1.imag*c2.imag};
}
Complex operator/(Complex c1,Complex c2){
return{c1.real+c2.real,c1.imag+c2.imag};
}//运算符重载函数的定义。
viod Complex::display(Complex c1){
cout<<c1.real<<"+"<<c1.imag<<"i"<<endl;
}
int main( ){
Complex c1(12,8),c2(42,9),sum,minus,product,quotient;
sum=c1+c2;
minus=c1-c2;
product=c1*c2;
quotient=c1/c2;//使用重载后的运算符对复数进行运算。
cont<<"c1=";c1.display( );
cont<<"c2=";c2.display( );
cout<<"sum=";sum.display( );
cout<<"minus=";minus.display( );
cout<<"product=";product.display( );
cout<<"quotient="quotient.display( );//输出运算后的值。
return 0;
}