对于什么时候子类会覆盖父类中的函数:
(1)如果子类的东西和父类是一样的,那么肯定是子类覆盖父类中的函数
(2)如果子类的函数和父类的函数一模一样,就是前面少了个virtual那么,子类还是覆盖父类的函数
(3)如果子类和父类的函数返回值不一样,那么子类是不覆盖父类的函数
(4)最纠结的应该算是对于参数含有默认值的情况,其实这个情况,在编译器中是认为是有参数的,并不是没有参数,所以如果不一样的话,那很显然是不一样的,但是对于子类和父类默认值不同是没有关系,因为这个东西在编译的时候只是认为他们有这样的一个参数而已。
(5)对于同一个函数,子类有virtual,而父类是没有virtual那么,这个情况的是认为他们是两个不同的函数。