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'? –