关于C++中的重载和多态
来源:互联网 发布:淘宝卖家红包 编辑:程序博客网 时间:2024/05/01 19:10
同名的成员函数可分为两种:普通和虚函数。
1、同名函数们在同一个类中只能是重载函数
例如:void Show ( int , char ) ;
void Show ( char * , float ) ;
2、若在继承类族中,子类又新增了与父类同名的普通函数,此时是隐藏,调用时可以用“ :: ”区分,
例如:A :: Show ( );
B :: Show ( );
3、若在继承类族中,子类又新增了与父类同函数名的虚函数,此时是重写,但能表现出动态多态。
例如:Aobj.Show ( );是调用A :: Show ( ) 。
Bobj.Show ( );是调用B :: Show ( ) 。
重载、重写和隐藏的区别
1、重载:在同一作用域内,函数名相同却有不同的代码实现。
2、隐藏:在继承树中,子类中再度出现了父类的同名函数,无论形参是否相同,那都是隐藏不是重载。
3、重写:在继承树中,子类中再现了父类的用虚函数或纯虚函数修饰的同函数原型(此时的同名最严格:函数名、返回类型、形参表都必须相同),这种现象叫重写(覆盖)。注意,若返回类型符合“类型兼容”亦可。即子类中的同名函数返回了父类类型或子类类型。这称为“协变类型”。
- 关于C++中的重载和多态
- 关于重载和重写、多态问题
- 关于C++中的重载,覆盖和隐藏
- Objective-C中的继承和重载
- 关于JS多态中的重载问题分析
- java中的继承和多态以及重载和重写
- [黑马程序员]关于C#中的重载、override和new区别
- 关于C++中的拷贝构造和赋值重载的理解
- 关于C++中的继承和重载的区别
- Java 中的多态和重载: 为什么输出father??
- java和c++中的多态、重载、覆盖、隐藏
- 关于重载和重写
- 关于重写和重载
- 关于重载和重写
- 关于重载和重写
- 关于重载和覆盖
- 重载和多态
- 重载和多态
- 转:探索 Java 同步机制
- asp.net md5加密
- SQL语句,按不同字段进行汇总,string.Format()
- 天龙八部资源提取源代码
- 求分
- 关于C++中的重载和多态
- 枚举串口端口
- td 属性 noWrap 防止折行、撑开(及其它文字换行问题)
- 编译php支持curl和pdo_mysql
- 如何链接到Sql Server 2005
- 同一数据库服务器中跨数据库查询
- [Index]Start,helloworld!
- 串口通信之查询方式
- Apache SOAP----axis简介