virtual 函数只有在用指针或引用的方式访问,才会导致多态。
Posted buddho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了virtual 函数只有在用指针或引用的方式访问,才会导致多态。相关的知识,希望对你有一定的参考价值。
只有用指针和引用,才会动态绑定。才会在运行时候从虚表中找对应的成员函数。
如果只是用.访问成员函数,是静态绑定,在编译时刻就固定好的。
另外,父类的虚函数,子类不管加不加virtual关键字,都是虚函数。最好加上。
同样的,用指针和引用,访问普通函数的时候,不会发生多态。多态的两个条件,缺一不可。
1、upcast
2、* or &
以上是关于virtual 函数只有在用指针或引用的方式访问,才会导致多态。的主要内容,如果未能解决你的问题,请参考以下文章
警告: deleting object of polymorphic class type which has non_virtual destructor