【发布时间】:2016-03-04 14:02:08
【问题描述】:
我有两个班级,一个“银行”和一个“帐户”。 Account 的构造函数接受一个 int 和一个字符串。银行应该有两个“帐户”类型的对象。是否可以动态分配字段初始值设定项列表中的两个“帐户”对象而不是静态值?
这是我静态分配它的代码
class Bank
{
public:
Bank():checkings( 500, "C"), saving( 300, "s"){} //predfined int and string
private:
Account checkings;
Account saving;
};
可以这样做吗?我希望构造函数根据用户输入动态分配其字段。我不断收到错误,所以我不确定我的语法是否错误。
class Bank
{
public:
Bank():checkings( int val, string s), saving( int val, string s){} //dynamic
private:
Account checkings;
Account saving;
};
另外,如何在.cpp文件中调用这种类型的构造函数?
【问题讨论】:
-
Bank():checkings( int val, string s), saving( int val, string s){}确实是语法错误。要指定构造函数参数,它们会在该行的第一组()之间移动。
标签: c++ class object constructor initializer-list