Наследование, вызов конструктора базового класса
От: blacksun  
Дата: 11.06.11 19:32
Оценка:
Здравствуйте
Вопрос в коде ниже
class A
{
protected:
    int m_x;
public:

    A()
    {
        m_x = 111;
    }
    A(int i)
    {
        m_x = i;
    }
};

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


int _tmain(int argc, _TCHAR* argv[])
{
    B b;

    return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.