所以我在类LimitedBankAccount
中有一个构造函数,它继承了类BankAccount
(简短的构造函数调用另一个构造函数)。
BankAccount::BankAccount(std::string name)
{
_name = name;
_balance = 0;
}
LimitedBankAccount::LimitedBankAccount(double limit) : BankAccount(_name)
{
_limit = limit;
}
所以我的问题是:如何调用LimitedBankAccount
的构造函数,以便BankAccount
中的名称将在LimitedBankAccount
中,并将两者保持在一起。
感谢您的帮助
答案 0 :(得分:1)
LimitedBankAccount::LimitedBankAccount(double limit, string name) : BankAccount(name)
{
_limit = limit;
}
答案 1 :(得分:0)
您希望您的LimitedBankAccount构造函数也包含名称参数:
// Note that you can use an initializer list to set your member variables
BankAccount::BankAccount(std::string name)
: _name(name), _balance(0)
{ }
LimitedBankAccount::LimitedBankAccount(std::string name, double limit)
: BankAccount(name), _limit(limit)
{ }
答案 2 :(得分:0)
您需要提供一个"名称"派生构造函数中的参数也是如此。最好用初始化列表编写它:
BankAccount::BankAccount(std::string name)
: _name(std::move(name))
, _balance()
{ }
LimitedBankAccount::LimitedBankAccount(double limit, std::string name)
: BankAccount(std::move(name))
, _limit(limit)
{ }
用法:
LimiteBankAccount account(100.0, "Jane Doe");