происходит: //: C09:VirtInit.

Автор admin Вторник, 16 июня 2009 11:32

происходит: //: C09:VirtInit.cpp // Порядок инициализации объектов при наличии // виртуальных базовых классов #include #include using namespace std: class M { public: MCconst string& s) { cout « “M ” « s « endl: } }: class A{ M m: public: A(const string& s) : m(“in A”) { cout « “A ” « s « endl: } virtual -AO {} class В { M m; public: BCconst string& s) : m(“in B”) { cout « “B ” « s « endl; } virtual -BO {} }: class С { M m; public: C(const strings s) : m(“in C”) { cout « “C ” « s « endl; } virtual -CO {} }: class D { M m: public: D(const strings s) : m(“in D”) { cout « “D ” « s « endl: } virtual -DO {} }: class E : public A. virtual public B. virtual public С { M m: Виртуальные базовые классы 461 public: E(const strings s) : ACfrom E”). BC’from E”), CC’from E”), m(“in E”) { cout « “E ” « s « endl: } }: class F : virtual public B. virtual public C. public D { M m: public: F(const strings s) : BC’from F”). CC’from F”). DC from F”). mC’in F”) { cout « “F ” « s « endl: } }: class G : public E. public F { M m; public: G(const strings s) : BC’from G”). CC’from G”). EC from G”). FCfro


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