#include <iostream> #include <cmath> using namespace std; class Complex{ public:Complex(double real0=0,double imaginary0=0); Complex(Complex &a); void add(Complex b); void show(); double mod(); private: double real; double imaginary; }; Complex::Complex(double real0,double imaginary0){ real=real0; imaginary=imaginary0; } Complex::Complex(Complex &a){ real=a.real; imaginary=a.imaginary; } void Complex::add(Complex b){ real+=b.real; imaginary+=b.imaginary; } void Complex::show(){ cout<<real<<"+"<<imaginary<<"i"<<endl; } double Complex::mod(){ double m; m=sqrt(real*real+imaginary*imaginary); return m; } int main() {Complex c1(3,5); cout<<"c1 = "; c1.show(); cout<<"|c1| = " <<c1.mod() <<endl; Complex c2(4.5); cout<<"c2= "; c2.show(); cout<<"|c2| = " <<c2.mod() <<endl; Complex c3(c1); c1.add(c2); c1.show(); cout<<c1.mod()<<endl; }

总结:对这个复制构造函数还是有些不太理解,实现起来的时候还是有点小困难的,通过同学的帮助还是顺利做出来了。希望自己接下来能继续好好理解摸透每一个程序背后的意义,做到深入理解。
https://www.cnblogs.com/libing-072921/p/10631162.html
https://www.cnblogs.com/jiyuanxiangzhouziying/p/10630503.html
https://www.cnblogs.com/ggwdcs/p/10631615.html
浙公网安备 33010602011771号