通常情况下的默认构造函数是不带任何的参数:
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;
}