我在这里啊@ 2020-08-16 09:59 采纳率: 0%
浏览 178
已采纳

C++中隐藏和覆盖有什么区别?

网上看到了两个版本:

1.父类和子类的函数名字相同,那就是隐藏

2.父类和子类的函数名字相同,参数相同的,如果是虚函数,那么就是覆盖,否则就是隐藏;参数列表不同的,都是隐藏

求教那种是正确,个人偏向第二种

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-16 11:17
    关注
    父类和子类的函数名字相同,参数相同的,如果是虚函数,那么就是覆盖,否则就是隐藏
    这个说法是正确的。
    所以覆盖,就是
    Base *b = new Derived();
    b->func(); 如果调用的是 derived的func就是覆盖了,如果是base的func,就是隐藏。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?