我有以下代码(头文件):
class InnerClass
{
InnerClass(int var);
}
class BigClass
{
BigClass();
InnerClass member(5);
}
如何将BigClass中member的参数初始化为5(您可能猜到了,上面的代码会产生错误)?如果我将InnerClass member(5)行放入代码(而不是标头)文件中,则没有问题。
您可以BigClass::member
通过类大括号或相等的初始化程序(自c ++ 11起)来初始化成员变量:
InnerClass member{5};
或成员初始化器列表:
class BigClass
{
InnerClass member;
public:
BigClass() : member(5) {}
// or... BigClass(int var) : member(var) {}
}
顺便说一句:我认为的构造函数InnerClass
应该是公共的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句