天天看点

C++中重写和重载以及隐藏

    C++中类的成员函数重写(覆盖),重载和隐藏概念常容易混淆,如下以表格形式做一个简单梳理:

作用域 函数名 参数列表 是否虚函数 注意点
重载 相同,函数都是同一类成员函数 相同 不同(类型,个数) 不关心

1.不同通过返回值类型不同实现重载;

2.参数顺序不同不能实现重载;

重写(覆盖) 不同,通常派生类重写基类成员函数 相同 相同 基类必须是虚函数

1.重写与被重写函数返回值也要一致;

2.被重写函数不能是私有的;

3. 静态函数不能重写;

隐藏 不同,通常派生类隐藏基类成员函数 相同 不关心 不关心 通常要注意避免隐藏

继续阅读