在一般情况下,子类继承了父类,那么子类就可以对父类的方法进行调用甚至是重写,这样子类对象就继承了父类对象。
但是,有一种情况,比如说,父类对象想要调用子类对象的某一个成员或者方法的时候。就不能了。
这个时候就需要使用虚函数(virtual ): 在父类对象声明的时候在函数的前面,显示的增加关键词virtual,这样,子类可以对其重写。
并且,当一个父类对象的指针对象指向子类的时候,这个时候根据情况,调用的是子类的对象方法。而不是父类自己的,这样就实现了多态,以及父类可以调用子类方法了.
1 | class A |
这里面的 A *a = new B(); 就是一个父类对象指向了子类。如: A是树,B是苹果树, A既然指向了苹果树,肯定也指向了树。所以A兼容了树和苹果树的多重特性
- 本文作者: 蓉城蒲菊
- 本文链接: https://github.com/liangpu597/2020/08/13/C-之虚函数/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!