读书人

书上关于虚函数的这段话该如何理解呢

发布时间: 2013-09-05 16:02:06 作者: rapoo

书上关于虚函数的这段话该怎么理解呢?
如果声明了某个成员为虚函数。则在该类中不能出现和这个成员函数同名并且返回值、参数个数、类型都相同的非虚函数。
上面的都能明白,关键是下面这段话:
在以该类为基类的派生类中,也不能出现这种同名函数。---这是什么意思啊?
父类定义一个虚函数:
virtual void run(){cout<<"aaaa";}
在子类中不定义一个同名函数怎么实现多态性啊?

[解决办法]
这书讲的是够晕的。子类中当然可以出现“成员函数同名并且返回值、参数个数、类型都相同的”的,因为这就是多态的实现方法啊。唯一需要注意的是,子类中这样的函数,无论是否声明为 virtual,都将视同为 virtual 的,override 基类的函数。

读书人网 >C++

热点推荐