#include<iostream>
#include<cmath>
using namespace std;
class Complex
{
   public:
     Complex(double x0 = 0.0, double y0 = 0.0);
     Complex(Complex &C);
     void add(Complex C);
     void show();
     double mod();
   private:
     double x;
     double y;
};
Complex::Complex(double x0, double y0) : x(x0), y(y0){};
Complex::Complex(Complex &C)
{
   x = C.x;
   y = C.y;
}
void Complex::add(Complex C)
{
   x = x + C.x;
   y = y + C.y;
}
void Complex::show()
{
   cout << x<< "+" << y << "i" << endl;
}
double Complex::mod()
{
   return sqrt(x*x+y*y);
}
int main()
{
   Complex c1(3, 5);
   Complex c2=4.5;
   Complex c3(c1);
   c1.add(c2);
   c1.show();
   cout << c1.mod();
   return 0;
}

运行结果:

 

 练习总结:

1、不能只是定义,不写函数体啊!!!!!不然就会像这样

还有这样

不怪编译器……警醒自己。

2、还是要多看书复习一下,虽然写过一次,有些细节还是有点不确定。