Так ли это должно быть?
От: Denwer Россия  
Дата: 09.02.04 13:05
Оценка:
class A
{
public:
    int _a;
};

class B
{
public:
    int _b;
};

class C : public A,  private B
{
public:
    int _c;
};

C c;
c._c = 10;
c._a = 20;
    
B* b = (B*)(&c);
b->_b = 30;


Сосбственно вопрос: куда должен указывать указатель b?
У меня результат на VC7.1 был корректный. Но есть такое подозрение что он наплевал на private наследование, а судя по логике должен был
указывать на самое начало объекта, т.е. на a. И последняя строка как бы должна была изменить _а на 30.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.