Выравнивание и наследование
От Soldatenkov Mitea (2:5080/147.141) к All
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
Hi all!
Дано:
class Class1
{
public:
int X;
char C;
};
class Class2:public Class1
{
public:
char Q;
};
Спрашивается - как при минимальных плясках с бубном добиться того что бы
во-первых, размер Class1 был выровнен на четыре байта, во-вторых, размер
Class2 был равен восьми байтам? То есть, что бы место в конце Class1 не просто
резервировалось место под выравнивание, но и использовалось потомками.
2008 Студия, на
class Class1
{
public:
int X;
char C;
};
class Class2:public Class1
{
public:
char Q;
};
cout<<sizeof(Class2);
Для 32 битового кода выдает 12 байт.
--- WP/95 Rel 1.78E (215.0) Reg.
* Origin: Есть день знания, нет и минуты понимания (2:5080/147.141)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким