Re: Наследование, вызов конструктора базового класса
От: 24  
Дата: 11.06.11 19:39
Оценка:
Здравствуйте, blacksun, Вы писали:

B>B()

B>{
B> m_x = 555;
B> A(777); // <--- Что происходит здесь? Почему не изменяется A::m_x, а изменятся какой-то другой m_x с другим адресом
B> //A::m_x = 888; // Здесь все ок
B>}

Потому что это не вызов конструктора, а создание безымянного объекта типа А. Чтоб вызывался конструктор, нужно проинициализировать базовую часть:

B() : A(777)
{
   ...
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.