关于C++的隐藏
来源:互联网 发布:c语言爱心代码 编辑:程序博客网 时间:2024/06/17 01:20
隐藏 case 1:基类:virtual void DoJob(int a){count<<"one in base class"<<a<<endl};virtual void DoJob(int a, int b){count<<"two in base class"<<a<<endl};子类:空结论:直接调用基类的方法case 2:基类:void DoJob(int a){count<<"one in base class"<<a<<endl};void DoJob(int a, int b){count<<"two in base class"<<a<<endl};子类:空结论:直接调用基类的方法case 3:基类:virtual void DoJob(int a){count<<"one in base class"<<a<<endl};virtual void DoJob(int a, int b){count<<"two in base class"<<a<<endl};子类:void DoJob(int a) 或 void DoJob(int a, int b)结论:只能调用子类的方法,基类的方法隐藏(添域可直接调用)case 4:基类:virtual void DoJob(int a){count<<"one in base class"<<a<<endl};virtual void DoJob(int a, int b){count<<"two in base class"<<a<<endl};子类:void DoJob(double a)结论:只能调用子类的方法,基类的方法隐藏(添域可直接调用)case 5:基类: void DoJob(int a){count<<"one in base class"<<a<<endl}; void DoJob(int a, int b){count<<"two in base class"<<a<<endl};子类:void DoJob(int a) 或 void DoJob(int a, int b)结论:只能调用子类的方法,基类的方法隐藏(添域可直接调用)case 6:基类: void DoJob(int a){count<<"one in base class"<<a<<endl}; void DoJob(int a, int b){count<<"two in base class"<<a<<endl};子类:void DoJob(double a)结论:只能调用子类的方法,基类的方法隐藏(添域可直接调用)
由此看来,隐藏与基类是否用virtual并没有直接的关系,关键是看基类是否写了同名的函数,写了同名的函数(无论参数列表和类型是否相同),基类的方法隐藏,默认只能调用子类的函数(可通过域调用基类的方法,Example:B子类,A基类 b.A::DoJob(5)).
0 0
- 关于调用隐藏窗体的问题(C#)
- 关于div的隐藏
- 关于div的隐藏
- 关于div的隐藏
- 关于C++的隐藏
- [c/c++]函数的隐藏
- [C/C++]关于C++类成员函数的重载、覆盖、隐藏与virtual关键字
- [JavaScript]关于div的隐藏
- 关于隐藏文件的讨论
- 关于tr隐藏的问题
- 关于C++的隐藏规则
- 关于隐藏转换的代码
- 关于C++的隐藏规则
- 关于tableView的separatoreLine隐藏
- IOS关于tabBar的隐藏
- 关于收缩隐藏的问题
- 关于键盘隐藏的问题
- 关于推送通知的隐藏
- 第十九章 syslogd :记录登录文件的服务
- js 模块
- 从零开始学Snaker(一)- 官方项目运行
- oracle 高效Sql语句总结
- 执行shell报错source:notfound
- 关于C++的隐藏
- 第十九章 登录文件的轮替(logrotate)
- SVN代码回滚到执行版本
- 第十九章 分析登录文件
- 第二十章 开放源码的软件安装与升级简介
- JAVA高并发秒杀API项目的学习笔记
- 使用butterknife的BindView时报错@BindView not applicable to type
- js模块
- 第二十章 用 make 进行巨集编译