虚函数与作用域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚函数与作用域相关的知识,希望对你有一定的参考价值。
1 基类与派生类中的虚函数必须有相同的参数列表,假如基类与派生类的虚函接受的实参不同,我们就无法通过基类的引用或者指针调用派生类的虚函数。
class Base{ public: virtual int fun(); //基类中定义的虚函数 }; class Derived : public Base { int fun(int); };
因为参数不同,所以Derived这个时候有两个函数,一个是Base继承而来的虚函数fun(),一个是Derived()定义的fun(int),
这和我们的原意是不合的。
所以基类与派生类的虚函数必须有相同的形参列表,否则我们无法通过基类的指针或引用调用派生类的虚函数。
以上是关于虚函数与作用域的主要内容,如果未能解决你的问题,请参考以下文章