0
我有两个类酒吧和Foo类的初始化 - 属性没有默认构造函数
class Bar
{
Foo attr;
public:
Bar(int i);
}
class Foo
{
std::string _name;
public:
Foo(std::string name) : _name(name){}
}
的问题是,Foo
没有默认构造函数,但只有一个构造函数一个std::string
。此外operator=
是Foo的私人会员。那么我怎样才能初始化attr
,如果i==0
和"bad"
其他的话,它的名字就是"good"
。
我不明白这个问题。你显然知道如何初始化成员,因为你在'Foo'中这么做了。什么阻止你使用相同的技术在'Bar'中初始化'attr'? –