https://www.jb51.net/article/117380.htm

函数的覆盖

覆盖发生的条件:

(1) 基类必须是虚函数(使用virtual 关键字来进行声明)
(2)发生覆盖的两个函数分别位于派生类和基类
(3)函数名和参数列表必须完全相同

函数的隐藏

隐藏发生的条件:

(1)子类和父类的函数名相同,参数列表可以不一样

看完下面的例子就明白了

#include "iostream"
using namespace std;
class CBase{ public: virtual void xfn(int i){ cout << "Base::xfn(int i)" << endl; //1 } void yfn(float f){ cout << "Base::yfn(float)" << endl; //2 } void zfn(){ cout << "Base::zfn()" << endl; //3 }
};
class CDerived : public CBase{ public: void xfn(int i){ cout << "Derived::xfn(int i)" << endl; //4 } void yfn(int c){ cout << "Derived:yfn(int c)" << endl; //5 } void zfn(){ cout << "Derived:zfn()" << endl; //6 }
};
void main(){ CDerived d; CBase *pb = &d; CDerived *pd = &d; pb->xfn(5); //覆盖 pd->xfn(5); //直接调用 pb->yfn(3.14f); //直接调用 pd->yfn(3.14f); //隐藏 pb->zfn(); //直接调用 pd->zfn(); //隐藏
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

C++子类父类成员函数的覆盖和隐藏实例详解相关推荐

  1. 关于C++子类父类成员函数的覆盖和隐藏

    转载:http://blog.csdn.net/worldmakewayfordream/article/details/46827161 函数的覆盖 覆盖发生的条件: (1) 基类必须是虚函数(使用 ...

  2. php 后台运行函数,php守护进程函数 后台执行脚本的实例详解

    我们经常通过crontab定时执行后端脚本.比如每10秒检查一下用户状态. 例子: 复制代码 代码示例: @file: /php_scripts/scan_userstatus.php #!/usr/ ...

  3. python定义函数的组成部分有_Python学习笔记之函数的定义和作用域实例详解

    本文实例讲述了Python函数的定义和作用域.分享给大家供大家参考,具体如下: 定义函数 默认参数: 可以向函数中添加默认参数,以便为在函数调用中未指定的参数提供默认值 # 如果调用 cylinder ...

  4. JAVA面向对象中继承的子父类成员函数的内存图解,以及成员函数中的覆盖的应用.

    JAVA中继承子父类成员函数的使用 我把成员函数理解为就是类里面的功能,或者说是方法. 子父类的成员函数调用可以是这样的 例如: class Fu{void show1(){System.out.pr ...

  5. 子类内部调用父类成员函数,及子类对象在外部调用父类成员函数问题(C++)

    先看段程序: #include <iostream>using namespace std;class A {private:void f(){cout << "pr ...

  6. 深入理解成员函数的重载、隐藏、覆盖规则(二)

    本文作者:islwj 本文出处:http://blog.csdn.net/islwj 声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明 ...

  7. 【python教程入门学习】Python函数定义及传参方式详解(4种)

    这篇文章主要介绍了Python函数定义及传参方式详解(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.函数初识 1.定 ...

  8. python装饰器函数-Python函数装饰器常见使用方法实例详解

    本文实例讲述了Python函数装饰器常见使用方法.分享给大家供大家参考,具体如下: 一.装饰器 首先,我们要了解到什么是开放封闭式原则? 软件一旦上线后,对修改源代码是封闭的,对功能的扩张是开放的,所 ...

  9. 定时器 槽函数没执行_Web服务器项目详解 07 定时器处理非活动连接(上)

    点击"两猿社" 关注我们 Web服务器详解目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接 ...

最新文章

  1. Social regularizations
  2. 一个Linux下的 俄罗斯方块游戏,基于 ncurse 库。。
  3. 11.14PMP试题每日一题
  4. SQL Server 系统存储过程
  5. Command mysql 中文,MySQL Command Line[mysql命令行常用命令]_MySQL
  6. SpringMVC自学日志02(初识SpringMVC)
  7. 【clickhouse】clickhouse 副本与分片 副本详解
  8. Extjs数据展现原理
  9. 《MYSQL必知必会》— 14~17.子查询、联结、高级联结、组合查询
  10. Spring核心组件
  11. 50行Python代码制作一个计算器
  12. win7远程桌面怎么关闭计算机,win7系统关闭远程桌面服务的操作方法
  13. 正态总体统计量的分布
  14. Google Play开发者账号注册教程(new)
  15. 在 Linux 终端中自定义 Bash 配色和提示内容
  16. Spring Cloud实战(三)-监控中心
  17. 【LeetCode】309. Best Time to Buy and Sell Stock with Cooldown 最佳买卖股票时机含冷冻期(Medium)(JAVA)
  18. 如何申请开通个人邮箱?
  19. 前端开发的流程与规范
  20. 学习,使用主成分分析 (Principal components analysis,PCA)处理数据必看文章

热门文章

  1. 组合数据类型练习,英文词频统计实例上(2017.9.22)
  2. $ npm install opencv ? 你试试?! 在windows环境下,使用node.js调用opencv攻略
  3. Spring MVC 返回NULL时客户端用$.getJSON的问题
  4. python 文件遍历
  5. 用matlab 拟合实数解,求大神指点matlab用拟合的方式解延迟微分方程组参数
  6. php-v 查看不到版本,解決php -v查看到版本於phpinfo()打印的版本不一致問題
  7. php网页的注册界面设计,HTML开发博客之注册页面设计(一)
  8. html dom概念,js学习之HTML DOM的一些基础概念
  9. php 获取sql字段名,php – 使用DISTINCT和UNION在SQL查询中获取字段名称
  10. php如何与数据库连接,PHP文章如何和数据库连接(1)