作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道在 ??? 位置放什么。这是代码:
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/
我是一名优秀的程序员,十分优秀!