初学c++,有一句代码看不明白,请大牛指导

初学c++,有一句代码看不明白,请大牛指点

class complex{
    double re,im;
public:
    complex(double r,double i): re(r),im(i) {}  
    complex operator + (complex);
    complex operator * (complex);
};



不太理解红色部分代码的意思,请大神详解下,谢谢
C++

------解决方案--------------------

class complex{
    double re,im;
public:
    complex(double r,double i): re(r), im(i) {}  
    //构造函数初始化列表 类似与
    // complet(double r, double i)  //这函数的功能和上面是一样的,
      //但是在某些情况下必须要用初始化列表
        {
                re = r;
                im = i; 
         }
    complex operator + (complex);
    complex operator * (complex);

------解决方案--------------------
两者的不同还体现在继承时
------解决方案--------------------
http://blog.csdn.net/pathuang68/article/details/4258975
已经说的非常详细了