函数的覆盖和隐藏之浅谈
对于初学C++的人来说,函数的隐藏和覆盖很搞不清楚
在父子类里,函数的覆盖构成条件为
1.父类的方法须是虚函数
2.发生覆盖的函数必须分别位于父子类中
3.函数名和参数列表完全相同
隐藏:是指派生类中具有与基类同名的函数,不考虑参数列表是否相同,从面在派生类中隐藏了基类的同名方法。
隐藏的情况有以下两种:
1. 派生类中方法与基类的方法完全相同,只是基类的没有virtual
2. 派生类中方法与基类的方法名相同,参数列表不同,不管有没有virtual关键字
这与在同一类中的重载不同
总这呢,我们也不学孔已己,到底字有几种写法了
我总结呢就是:在继承关系的类中,只要有virtual,且方法名,参数列表相同的就是函数覆盖了,而函数隐藏就是方法名相同就是函数隐藏,若是父类中有virtual,就是函数覆盖了。
留言区(共0条)