Я не уверен, правильно ли я вас понял, но обычно члены инициализируются в списках инициализатора конструктора:
class Bar
{
public:
Bar();
private:
Foo myFoo;
};
Bar::Bar()
// The following initializes Foo
: Foo(100)
// constructor body
{
}
Обратите внимание, что если Bar
имеет несколько конструкторов, вы должны инициализировать myFoo
в каждом из них.
C ++ 11 добавил инициализацию непосредственно в объявлении члена, например:
class Bar
{
Foo myFoo = Foo(100);
};
Однако ваш компилятор может еще не поддерживать это или поддерживать только специальными флагами.