只有用指针和引用,才会动态绑定。才会在运行时候从虚表中找对应的成员函数。
如果只是用.访问成员函数,是静态绑定,在编译时刻就固定好的。
另外,父类的虚函数,子类不管加不加virtual关键字,都是虚函数。最好加上。
同样的,用指针和引用,访问普通函数的时候,不会发生多态。多态的两个条件,缺一不可。
1、upcast
2、* or &