По распорядку, согласно стандарту языка и документации на компилятор. 8)
Проверяется в 5 мин. Как правило (т.е. на тех компиляторах, которыми пользовался), данные-члены складываются в порядке наследования.
Хочу отметить, что при наличии виртуального и/или множественного наследования пользоваться подобными трюками с this - извращение. Это верный знак, что либо типы данных либо алгоритмы неоптимальны. Так же помогает медитация на тему "С++ как оптимальный язык для данной задачи и не стоит ли перейти на ассемблер или мож пора на пенсию".