Complex Complex:complex_add(Complex &c2) Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; void Complex::display() /定义输出函数 (cout<<"("<<real<","<<imag<<"i)"<<endl;) 2017年4月26日12时 H0平5务 第10章运算符重载 BACK NEXT
HOME Complex Complex::complex_add(Complex &c2) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } void Complex::display( ) //定义输出函数 {cout<<"("<<real<<" , "<<imag<<"i)"<<endl;} 2017年4月26日12时 15分 第10章 运算符重载 7
int main() Complex c1(3,4),c2(5,-10),c3; /定义3个复数对象 c3=c1.complex_add(c2); /调用复数相加函数 cout<<"c1=";c1.display(); cout<<"c2=";c2.display(); cout<<"c1+c2=";c3.display(); return 0; 2017年4月26日12时 第10章运算符重载 8 H0座务 BACK NEXT
HOME int main( ) { Complex c1(3,4),c2(5,-10),c3; //定义3个复数对象 c3=c1.complex_add(c2); //调用复数相加函数 cout<<"c1="; c1.display( ); cout<<"c2="; c2.display( ); cout<<"c1+c2="; c3.display( ); return 0; } 2017年4月26日12时 15分 第10章 运算符重载 8
10.2运算符重载的方法 Method of Operator Overloading 重载运算符的函数一般格式如下: 函数类型operator运算符名称(形参表列) {对运算符的重载处理} 将“+”用于Complex类(复数)的加法运算: Complex operator+(Complex&c1,Complex&c2); 2017年4月26日12时 9 H0务 第10章运算符重载 BACK NEXT
HOME 重载运算符的函数一般格式如下: 函数类型 operator 运算符名称 (形参表列) { 对运算符的重载处理 } 将“+”用于Complex类(复数)的加法运算: Complex operator+ (Complex& c1,Complex& c2); 2017年4月26日12时 15分 第10章 运算符重载 9
例10.2运算符重载函数作为类成员函数 #include <iostream> using namespace std; class Complex public: Complex()real=0;imag=0;} Complex(double r,double i)freal=r;imag=i;} Complex operator+(Complex &c2); void display(); private: double real; double imag; 2017年4月26日12时 H0务 第10章运算符重载 10 BACK NEXT
HOME #include <iostream> using namespace std; class Complex { public: Complex( ){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c2); void display( ); private: double real; double imag; }; 2017年4月26日12时 15分 第10章 运算符重载 10
ComplexComplex:operator+(Complex &c2) Complex c; c.real=real+c2.real; c.imag-imag+c2.imag; return c; //Complex Complex:operator +(Complex &c2) /freturn Complex(real+c2.real,imag+c2.imag);} void Complex:display() cout<<"("<<real<","<<imag<<"i)"<<endl;} 2017年4月26日12时 0店务 第10章运算符重载 11 BACK NEXT
HOME Complex Complex::operator+(Complex &c2) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } //Complex Complex::operator + (Complex &c2) //{return Complex(real+c2.real, imag+c2.imag);} void Complex::display( ) { cout<<"("<<real<<" , "<<imag<<"i)"<<endl;} 2017年4月26日12时 15分 第10章 运算符重载 11