C++覆盖 重载 隐藏是三个经常容易混淆的概念
这里我们简单总结下:
1.重载的条件(编译时多态)
a.同一个类中
b.函数名相同,参数不同(返回值不能作为重载的条件)
c.与函数是否为虚函数无关
2.覆盖的条件(运行时多态)
a.不同的类中,往往是一个继承体系
b.基类该函数为虚函数
c.派生类函数名相同,参数相同
3.隐藏的条件
a.不同的类中,往往是一个继承体系
b.1 若继承类中该函数名相同,参数不同,不管基类中该函数是否为虚函数,隐藏
b.2 若继承类中该函数名相同,参数相同,则只有当