简述类成员函数的重写、重载和隐藏的区别
来源:互联网 发布:淘宝粉丝福利购是真假 编辑:程序博客网 时间:2024/06/05 08:25
(1)重写和重载主要有以下几点不同。
范围的区别:被重写的和重写的函数在两个类中,而重载和被重载的函数在同一个类中。
参数的区别:被重写函数和重写函数的参数列表一定相同,而被重载函数和重载函数的参数列表一
定不同。
virtual的区别:重写的基类中被重写的函数必须要有virtual修饰,而重载函数和被重载函数可以被
virtual修饰,也可以没有。
(2)隐藏和重写、重载有以下几点不同。
与重载的范围不同:和重写一样,隐藏函数和被隐藏函数不在同一个类中。
参数的区别:隐藏函数和被隐藏的函数的参数列表可以相同,也可不同,但是函数名肯定要相同。
当参数不相同时,无论基类中的参数是否被virtual修饰,基类的函数都是被隐藏,而不是被重写。
说明:虽然重载和覆盖都是实现多态的基础,但是两者实现的技术完全不相同,达到的目的也是完
全不同的,覆盖是动态态绑定的多态,而重载是静态绑定的多态。
范围的区别:被重写的和重写的函数在两个类中,而重载和被重载的函数在同一个类中。
参数的区别:被重写函数和重写函数的参数列表一定相同,而被重载函数和重载函数的参数列表一
定不同。
virtual的区别:重写的基类中被重写的函数必须要有virtual修饰,而重载函数和被重载函数可以被
virtual修饰,也可以没有。
(2)隐藏和重写、重载有以下几点不同。
与重载的范围不同:和重写一样,隐藏函数和被隐藏函数不在同一个类中。
参数的区别:隐藏函数和被隐藏的函数的参数列表可以相同,也可不同,但是函数名肯定要相同。
当参数不相同时,无论基类中的参数是否被virtual修饰,基类的函数都是被隐藏,而不是被重写。
说明:虽然重载和覆盖都是实现多态的基础,但是两者实现的技术完全不相同,达到的目的也是完
全不同的,覆盖是动态态绑定的多态,而重载是静态绑定的多态。
- 简述类成员函数的重写、重载和隐藏的区别
- 简述成员函数的重写与重载的区别
- 类成员函数的重载、覆盖和隐藏(重写)的区别
- 类成员函数的重载、重写、和覆盖区别
- 类成员函数的重载、重写、和覆盖区别
- 成员函数的重载/重写与隐藏
- 类成员函数的重载、覆盖和隐藏的区别
- 类成员函数的重载、覆盖和隐藏的区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别?
- 解决eclipse中overlaps the location of another project: 'xxxx'
- mysql 添加字段、删除字段
- UML类图几种关系的总结
- 【android】关于使用ViewPager和LayoutInflater的出现问题
- 蓝牙协议学习笔记(1)-2.0
- 简述类成员函数的重写、重载和隐藏的区别
- 引用 VS2005下ObjectARX开发环境的配置与开发实例Hello World(VS2005+AutoCad2008+ObjectArx2008)
- linux grep命令
- java 代码获得屏幕分辨率
- extjs在表格中嵌套combox下拉框
- android 编译问题,java 版本不对
- 手机号码归属地查询脚本
- soapui的webservice接口测试中参数设置
- Oracle错误--ORA-24324:Service handle not initalized