原文发于:http://qing.weibo.com/2059598087/7ac2f90733002bwr.html
一般来说,我们需要向对象的构造函数传入参数,并以此对内部状态进行设置。在C++中,对象的声明同时也意味着调用默认构造函数,亦即不带任何参数的构造函数。同时即便我们显示的调用对象的构造函数(通过new调用),在很多时候也希望使用一些默认参数。
下面是带默认参数的构造函数的完整写法:
class AClass
{
public:
AClass(short n=4); //在声明构造函数时指定默认参数
Print();
virtual ~AClass();
private:
int m_a;
int m_b;
};
AClass::AClass( short n) //在定义函数时无需指定默认参数
{
m_a = n;
m_b = n * 3;
}
AClass::Print()
{
printf("%d, %d", m_a, m_b);
}
AClass::~AClass()
{
}
是的,在以上代码中,我们并 不需要声明和定义默认构造方法AClass()。
查看更多:使用默认参数的构造函数