隐藏,覆盖,重载的区别
来源:互联网 发布:淘宝客pid 编辑:程序博客网 时间:2024/04/30 09:36
1:先说重载,1首先两个函数的作用域必须相同,(这点很重要,基类和派生类不在一个作用域,所以基类和派生类的函数不可能重载),2函数名相同,3参数列表(参数类型,参数的个数,参数了顺序)不相同,4与返回值无关,叫重载;
2:隐藏:在基类和派生类之间发生的关系,函数名相同,派生类的函数把基类的函数给隐藏了,只关注函数数名,不管返回值和参数。
例:
#include<iostream>using namespace std;class A{private : int ma;public: void show(){cout<<"ma="<<ma<<endl;}};class B: public A{private : int mb;public: int show(){cout<<"mb="<<mb<<endl;return 0;}};int main(){ A s1; B s2; s1.show(); s2.show(); return 0;}
3:覆盖:覆盖是隐藏的一种特殊情况,派生类和基类的函数,
1 函数名相同;
2 返回值相同;
3 参数列表相同(不包括this指针在内);
4 基类函数为虚函数;
即为覆盖。
例:
#include<iostream>using namespace std;class A{private : int ma;public: void virtual show(){cout<<"ma="<<ma<<endl;}};class B: public A{private : int mb;public: void show(){cout<<"mb="<<mb<<endl;}};int main(){ A s1; B s2; s1.show(); s2.show(); return 0;}
0 0
- 重载、覆盖、隐藏的区别
- 重载,覆盖,隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载 、覆盖、隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载,覆盖隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载,覆盖,隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载、覆盖、隐藏的区别
- 隐藏,覆盖,重载的区别
- 重载、覆盖、隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载-隐藏-覆盖的区别
- 重载 ,覆盖,隐藏 区别
- 重载覆盖隐藏区别
- UI层自动化测试框架(六):持续集成和测试报告
- cocos2d-x--->飞机大战的总结0913
- 1116. Come on! Let's C
- android轻量级开源缓存框架——ASimpleCache(ACache)源码分析
- swith & if 应用场景 及区别
- 隐藏,覆盖,重载的区别
- Andrew Ng -machine learning 课堂笔记(一)第六周
- Android 设计模式 之 单例模式
- PC硬件与系统维护--第一版
- 循序表操作样例
- C++main函数的参数
- kindeditor的N多Bug问题
- HDU 4200 Bad Wiring(高斯消元)
- Java第三章习题3-7(1到n的阶乘和<=9999)