gpt4 book ai didi

c++ - 构造函数Initializer字段可以用类对象调用,c++

转载 作者:行者123 更新时间:2023-11-28 02:16:06 26 4
gpt4 key购买 nike

我有两个类,一个是“银行”,一个是“账户”。 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文件中调用这种类型的构造函数?

最佳答案

您不能在成员初始值设定项中放置声明(如 int val),只能放置表达式(可以是/包括先前声明的变量)。

看起来你可能想要:

class Bank
{
public:
Bank(int val, std::string s) : checkings(val, s), saving(val, s) {}
// ...
};

或:

class Bank
{
public:
Bank(int check_val, std::string check_s,
int sav_val, std::string sav_s) :
checking(check_val, check_s), saving(sav_val, sav_s) {}
// ...
};

关于c++ - 构造函数Initializer字段可以用类对象调用,c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34007004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com