1: Vptr放在对象的第一位,和对象的内存地址一样, 每个继承类会有自己的vptr,并指向自己的vtable, 只有虚函数才会放到vtable中
2: 构造函数中无法应用多态,在实例化时由于先调用基类的构造函数(就是把vtable的地址赋给基类的地址),子类的vtable还没有构成,只能通过赋给的vtable中对调用的表+X.
3: 析构函数一般最好声明为虚函数,以防被继承时,没有声明,导致在delete时,子析构函数没有被调用。
4:vptr放在对象第一位置,即使父类有成员没有虚函数,子类才开始有虚函数,也遵守这一原则