C++使用虚拟继承(Virtual Inheritance),使得派生类如果继承基类多次,但只有一份基类的拷贝在派生类对象中。 虚拟继承的语法: class 派生类: virtual 基类1,virtual 基类2,...,virtual 基类n{ ...//派生类成员声明 }; 也就是说当一个派生类类有多个基类,而这多个基类,基类1,基类2、、、又同时继承一个共同基类3,这样就会使派生类中有了两个来路不同的基类3,所以加visual标明只拷贝一份共同的基类到派生类 所以在你的那段代码里是没有用的 多重继承构造执行顺序 首先执行虚基类的构造函数,多个虚基类的构造函数按照被继承的顺序构造; 执行基类的构造函数,多个基类的构造函数按照被继承的顺序构造; 执行成员对象的构造函数,多个成员对象的构造函数按照申明的顺序构造; 执行派生类自己的构造函数; 析构以与构造相反的顺序执行;
C++虚拟继承
最新推荐文章于 2024-02-25 01:17:38 发布