关于C++中覆盖,重载,隐藏的一点说明

C++覆盖 重载 隐藏是三个经常容易混淆的概念

这里我们简单总结下:

1.重载的条件(编译时多态)

   a.同一个类中

   b.函数名相同,参数不同(返回值不能作为重载的条件)

   c.与函数是否为虚函数无关

2.覆盖的条件(运行时多态)

   a.不同的类中,往往是一个继承体系

   b.基类该函数为虚函数

   c.派生类函数名相同,参数相同

3.隐藏的条件

    a.不同的类中,往往是一个继承体系

    b.1 若继承类中该函数名相同,参数不同,不管基类中该函数是否为虚函数,隐藏

    b.2 若继承类中该函数名相同,参数相同,则只有当基类中该函数不为虚函数的时候,隐藏

原文地址:https://www.cnblogs.com/vpoet/p/4769899.html