class D: A
{
B obj;
C obj2;
}
Какой порядок строительства здесь гарантирован?
Я знаю, что D будет построено после A, B и C, но то, что я действительно хочу знать, заключается в том, будет ли A гарантированно построено до B или C, или даже если B гарантированно будет построено до C.
Я знаю, что у вас может быть явный список инициализаторов:
D(): A(), B(), C()
{}
но этот список инициализации определяет порядок инициализации?
Кроме того, делает ли какой-либо из компонентов конструктор по умолчанию или нет?