gpt4 book ai didi

c++ - 如何在另一个类中构造一个类? (简单代码)

转载 作者:行者123 更新时间:2023-11-30 01:49:59 24 4
gpt4 key购买 nike

我不知道在 ??? 位置放什么。这是代码:

class A
{
public:
A(std::vector <std::string> init);
}

class B
{
public:
B();
private:
A a;
}

B::B() : a(???)
{
}

如果您想了解一些背景知识,A 类是采用按钮标题 vector 的菜单,B 类是管理菜单和一些其他内容的 MenuState 父类(super class)。或者只是我的设计有缺陷?

最佳答案

就写std::vector<std::string>()你在哪里写了??? .这样你就会有一个空列表。否则,如果你想在构造时就填充它,你可以编写一个像generateButtonTitles()这样的函数调用。在那里并在适当的地方定义该功能。

B::B() : a(generateButtonTitles())
{
}

如果您使用 C++11 兼容的编译器,那么您还可以通过以下方式传递初始化列表:

B::B() : a({ "File", "Edit", "Options", "Help" })
{
}

关于c++ - 如何在另一个类中构造一个类? (简单代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178649/

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