在 Stanley B. Lippman* 、 * Josée Lajoie的 C++ Primer 一书中
在 Class Constructors 的第 14.2 章中,它指出:
我们是否还应该支持指定期初余额但没有客户名称?碰巧的是,类规范明确禁止这样做。我们的带有默认第二个参数的双参数构造函数提供了一个完整的接口,用于接受用户可以设置的 Account 类的数据成员的初始值:
class Account {
public:
// default constructor ...
Account();
// parameter names are not necessary in declaration
Account( const char*, double=0.0 );
const char* name() { return _name; } // What is this for??
// ...
private:
// ...
};
以下是向我们的构造函数传递一个或两个参数的合法 Account 类对象定义:
int main()
{
// ok: both invoke two-parameter constructor
Account acct( "Ethan Stern" );
当没有用单参数声明时如何调用 2 参数构造函数?
Account *pact = new Account( "Michael Lieberman", 5000 );
以及上面的行如何使用默认参数调用构造函数
if ( strcmp( acct.name(), pact->name() ))
// ...
}
这本书似乎非常不清楚,代码不完整。需要对构造函数进行很好的解释。请澄清。