通常情况下的默认构造函数是不带任何的参数:
class X{ private: int i; public: X() {} X( int ii):i(ii) {} };
这其实等效于如下使用参数默认值的形式:
class X{ private: int i; public: X( int ii=0):i(ii) {} //default constructor };
若是将构造函数的实现不在类的声明中实现,可单独列出实现,但声明的时候是必须指定参数默认值:
class X{ private: int i; public: X( int ii=0) {} //default constructor }; X::X(int ii) { i=ii; }