laoma634980838

导航

C++随笔——虚拟继承

虚拟继承

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

posted on 2013-04-08 20:25  马聪  阅读(146)  评论(0编辑  收藏  举报