语言基础

虚函数
1.在有继承关系的父子类中,构建和析构一个子类对象时,父子构造函数和析构函数的执行顺序分别是怎样的?
2.在有继承关系的类体系中,父类的构造函数和析构函数一定要申明为 virtual 吗?如果不申明为 virtual 会怎样?
3.什么是 C++ 多态?C++ 多态的实现原理是什么?
4.什么是虚函数?虚函数的实现原理是什么?
5.什么是虚表?虚表的内存结构布局如何?虚表的第一项(或第二项)是什么?
菱形继承(类D同时继承B和C,B和C又继承自A)体系下,虚表在各个类中的布局如何?如果类B和类C同时有一个成员变了m,m如何在D对象的内存地址上分布的?是否会相互覆盖?