1.未用符号重载实现复数相加 #include "stdafx.h" #include"iostream" using namespace std; class Complex { public: Complex(){real=0;imag=0;}//定义构造函数即复数 初始化 Complex(double r,double i){real=r;imag=i;}//构造函数重载 Complex Complex_Add(Complex&);//声明复数相加函数 void display(); private: double real,imag;//声明复数的两个成员函数 }; void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } Complex Complex::Complex_Add(Complex&c2) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c;//返回值是Complex类 } int main() { Complex c1(22,22), c2(11,11),c3; c3=c1.Complex_Add(c2); c3.display() ; system("pause"); return 0; } | 2。使用符号重载实现复数相加 #include "stdafx.h" #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&);//声明复数相加函数 void display(); private: double real,imag;//声明复数的两个成员函数 }; void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } Complex Complex:: operator+(Complex&c2) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c;//返回值是Complex类 } int main() { Complex c1(22,22), c2(11,11),c3; c3=c1+c2; c3.display() ; system("pause"); return 0; } |