композиция, чтобы порядок выз

Автор admin Воскресенье, 14 июня 2009 11:32

композиция, чтобы порядок вызова конструкторов и деструкторов был нетривиальным. Результат выглядит так: Announce<0> constructor Announce constructor Announce<2> constructor X::X() X::~X() Announce<2> destructor Announce destructor Announce<0> destructor Естественно, конкретный вывод зависит от того, как ваш компилятор представляет результат вызова name(). Множественное наследование Механизм RTTI должен правильно работать со всеми сложными аспектами множественного наследования, включая виртуальные базовые классы (эта тема подробно рассматривается в следующей главе; возможно, вам стоит вернуться к этому разделу после прочтения главы 9). //: С08:RTTIandMultiplelnheritance.срр #i nclude #i nclude using namespace std; class BB { public: virtual void f() {} virtual ~BB() {} }: class Bl : virtual public BB {}; class B2 : virtual public BB {}: class MI : public Bl. public B2 {}; int mainO { BB* bbp = new MI; // Upcast // Правильное определение имени: cout « typeid(*bbp).nameO « endl; // Dynamic_cast работает правильно: MI* mip = dynamic_cast(bbp); // Принудительное преобразова


Комментарии закрыты.