C++随笔——虚拟继承
虚拟继承 C++使用虚拟继承(Virtual Inheritance), 使得派生类如果继承基类多次,但只有一份基类的拷贝在派生类对象中。 虚拟继承的语法: class 派生类: virtual 基类1,virtual 基类2,...,virtual 基类n{ ...//派生类成员声明}; 多重继承构造执行顺序: 首先执行虚基类的构造函数,多个虚基类的构造函数按照被继承的顺序构造; 析构以与构造相反的顺序执行; 即便不是虚继承,子类在构造对象时,都会先调用父类的构造函数;析构时先析构自己,然后析构父类 在使用引用时,父类和子类之间进行赋值时,类型不会变化;如果不使用引用,则会强制类型装换为相应的类型 父类可以声明子类(但是尽量少用) 子类在调用父类的函数时需要添加域名 #include <typeinfo> 可以获得当前类型的名称等信息。例如:type_info & t = typeid(*p4); t.name(); 来源: https://www.cnblogs.com/macong/archive/2013/04/08/3008778.html