我有一个构造函数声明为:
MyConstuctor(int inDenominator, int inNumerator);
和定义为
MyConstuctor::MyConstuctor(int inDenominator,
int inNumerator, int inWholeNumber = 0)
{
mNum = inNumerator;
mDen = inDenominator;
mWhole = inWholeNumber;
}
但我希望可以选择根据调用者对象将整数作为第三个参数传递。这是正确的方法吗?如果不是,可以有什么替代方法。
你需要的是:
//declaration:
MyConstuctor(int inDenominator, int inNumerator, int inWholeNumber = 0);
//definition:
MyConstuctor::MyConstuctor(int inDenominator,int inNumerator,int inWholeNumber)
{
mNum = inNumerator;
mDen = inDenominator;
mWhole = inWholeNumber;
}
这样您就可以为inWholeNumber
;并且您可以不提供它,因此 0 将用作默认值。
作为附加提示,更好地使用初始化列表 http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.6在定义中:
//definition:
MyConstuctor::MyConstuctor(int inDenominator,int inNumerator,int inWholeNumber) :
mNum(inNumerator), mDen(inDenominator), mWhole (inWholeNumber)
{
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)