覆盖和隐藏的区别

来源:互联网 发布:脸萌软件电脑版 编辑:程序博客网 时间:2024/04/30 05:22

父类animal和子类fish中都有test()方法,都没有virtual关键字,此时子类的test把父类test覆盖,声明:

animal* fish1 = new fish;

animal* fish2 = new animal;

调用fish1和fish2的test(),具体调用的是animal的test()


如果父类animal中的test()声明为虚函数,发生隐藏,则调用fish1和fish2的test()

fish1会调用fish的test()

fish2会调用animal的test()


一句话总结,覆盖看指针类型,隐藏看对象类型。

0 0