首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有virtual跟没有virtual的函数的区别

2012-10-28 
有virtual和没有virtual的函数的区别?有virtual和没有virtual的函数的区别继承后,这两者在子类中有什么不

有virtual和没有virtual的函数的区别?
有virtual和没有virtual的函数的区别
继承后,这两者在子类中有什么不同?

[解决办法]
http://baike.baidu.com/view/161302.htm
[解决办法]
有virtual的函数,该类的子类可以重现这个函数,以实现多态,而没有virtual的函数子类可以重写这个函数,但是子类对象指针只能调用子类重写的这个函数,父类的函数被覆盖或说对子类不可见。最关键的还是要清楚多态的意思
[解决办法]
有virtual的是虚函数。在子类重载后,可以通过父类的引用或者指针来访问子类的虚函数,从而实现多态。
没有virtual的就是普通成员函数。
[解决办法]
虚函数在子类中重新定义叫覆盖(动态多态),非虚函数在子类中重新定义或重新声明叫隐藏。尽量少用隐藏以增加代码可读性,减少bug.

热点排行