构造函数

下段代码中的构造函数设初值运用了效率相对于在{}中设初值较高的写法
值得注意的是构造函数的重载是不允许出现某种用法相同的构造函数,例如complex () : re(0), im(i) { }

函数定义

对于只是取(返回)值的函数就应该加上const,double real () const { return re; }
防止用户在创建对象时加上const从而不能调用值。

class complex
{
public:
    complex (double r = 0, double i = 0)//默认实参写法
        : re (r), im (i)        //传入实参设初值,构造函数特有写法
    { }
    complex& operator += (const complex&);
    double real () const { return re; }
    double imag () const { return im; }
private:
    double re, im;

    friend complex& __doapl (complex*, const complex&);
};