C++ 私有变量只需要在构造函数中初始化。怎么用?
我有一个名为C++ 私有变量只需要在构造函数中初始化。怎么用?,c++,variables,constructor,private,C++,Variables,Constructor,Private,我有一个名为Foo的类,它有一个需要参数的构造函数,还有一个名为Bar的类,它有一个Foo私有变量 class Foo { public: Foo(string); } class Bar { public: Bar() { this->foo = Foo("test") } private: Foo foo; } 然而,当我试图编译它时,我得到一个编译错误,即没有Foo::Foo()constru
Foo
的类,它有一个需要参数的构造函数,还有一个名为Bar
的类,它有一个Foo
私有变量
class Foo
{
public:
Foo(string);
}
class Bar
{
public:
Bar() { this->foo = Foo("test") }
private:
Foo foo;
}
然而,当我试图编译它时,我得到一个编译错误,即没有Foo::Foo()
constructor。看起来类Bar
中的私有变量foo
在获得构造函数中指定的值之前得到初始化
如何使私有
foo
变量在构造函数中等待初始化?您需要使用初始值设定项列表。如果没有,代码将调用该对象的默认构造函数
Bar::Bar() : foo("test") {
// stuff
}
使用初始值设定项列表:
Bar() : foo("test") {}
,在C++中使用<代码> >这是-> /COD>很少(并且经常指出其他问题)。< / P>好的,java,C,刚刚开始尝试C++。因此,我将使用此->用法。:)