c++重写、重载(覆盖)、隐藏

来源:互联网 发布:柬埔寨网络博客 编辑:程序博客网 时间:2024/06/04 19:48

重载:

函数名相同,参数列表不同,不能靠返回值判断。

特点:

1.在同一个类中

2.函数名相同

3.参数不同

4.virtual关键字可有可无

5.返回值类型可以不同

重写(覆盖):派生类重新定义基类的虚函数

特点:

1.不在同一个类中,(有继承关系的两个类)

2.函数名相同

3.参数相同

4.基类函数必须是虚函数,不能有static

5.返回值类型必须相同

6.重写的访问修饰符可以不同,即尽管virtual是private的,派生类中也可以重写改写为public,protected。

隐藏:

特点:

1.在有继承关系的两个类中

2.函数名字相同

3.返回值可以不同

4.参数不同时,无论有没有virtual,基类函数都将被隐藏。

5.参数相同,并且基类函数为实函数时,此时,基类函数被隐藏。


原创粉丝点击