目录

  • 一、学习的知识点
    • 多态
      • 虚函数
  • 二、上课没有听懂或者没有理解的地方
  • 三、当天学习的收获
  • 四、作业的思路、不会的地方
  • 五、其他需要反馈的问题
  • 六、心得体会

一、学习的知识点

  1. 基类指针可以指向基类对象,基类指针还可以指向派生类,走基类的成员函数
  2. 少内容转多内容,pedit=static_cast<cedit *>(&base);基类强制转换成派生类,不安全;
  3. 多内容转少内容,派生类转基类,自动转换,派生类的成员消失,安全

多态

  1. 静态的多态:体现在函数和运算符的重载上,根据参数决定走哪个成员函数,编译时已经确定走哪一个
  2. 动态的多态:通过继承和虚函数体现,在运行时,才知道走哪一个成员函数
  3. 多态性概念:具有继承关系的类,其对象对同一个函数调用可以做出不同的相应

虚函数

在基类中冠以关键字virtual的成员函数

  1. 定义:virtual void add()=0;
  2. 如果一个函数在基类中被声明为虚函数,则他在所有派生类中都是虚函数,包括重写函数
  3. 只有通过基类指针或者引用调用虚函数才能引发多态
  4. 动态多态的触发:基类指针指向派生类指针的时候,会触发去执行派生类的操作
  5. 基类有虚函数,如果派生类没有重写,用基类指针指向派生类指针的时候,走的是基类的;如果派生类重写了,走的是派生类的
  6. 基类中不知道如何写虚函数的时候,可以写成纯虚函数,virtual void add()=0;
  7. 一个类里面至少有一个纯虚函数,继承的类也有这个纯虚函数,这种类是一个抽象类,抽象类不能直接创建对象;继承他的派生类必须实现这个纯虚函数,才可以创建对象。

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

学习了如何通过基类使用派生类的成员函数(虚函数)

四、作业的思路、不会的地方

参考做过的作业

五、其他需要反馈的问题

六、心得体会

加油!!!

200908阶段一C++多态相关推荐

  1. javaSE各阶段练习题--面向对象-多态-抽象类-接口

    1 (多态)定义榨汁机JuiceMachine 有榨汁方法makeJuice,传入相应的水果.如果传入的是Apple 输出 "流出苹果汁"传入的是Orange 输出 "流 ...

  2. 面向对象的三个基本特征是:封装、继承、多态及其五大原则

    阅读数:634 面向对象的三个基本特征是:封装.继承.多态 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方 ...

  3. C++类的案例(一)

    例一:设计一个立方体类 图片取自黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili配套环境搭建教程av44145245本教程分为7个阶段,涵盖基础入门到实战项目 ...

  4. Java结合源码之究极基础复习设计模式复习

    多态:父类引用指向子类对象 多态的实现让比如不同职业的人可以在一个窗口买票,不用每个职业都特别分一个窗口. 阶段一: 不用多态的话,有个车的话,你得写个车的实体类,然后里面写车被开的方法. 有个人的话 ...

  5. C++| 匠心之作 从0到1入门学编程【视频+课件+笔记+源码】

    目录 1.课程简介 1.1.语言特点(支持数据封装和数据隐藏) 1.2.工作原理 1.3.课程目录 2.视频(资料+视频)百度网盘 2.1.视频在线观看地址 2.2.视频源码 3.博客笔记汇总表 第1 ...

  6. 重拳出击之《JVM》面试官版 (初哥勿看)

    <fonr color = black>JVM发展史,虚拟机发展史模块 java技术体系包括了几个组成部分? javaME.SE.EE分别是什么? 都说JDK7版本是第一个里程碑版本,为什 ...

  7. C++PrimerPlus 学习笔记 | 第八章 函数探幽 |3.默认参数 4.函数重载

    默认参数 默认参数是指当函数调用的时候省略了实参自动使用的一个值. // 函数原型 void wow(int n = 1); // 如果这样调用函数等价于 wow(1) wow() // == wow ...

  8. 怒肝俩月,新鲜出炉史上最有趣的Java小白手册,第一版,每个 Java 初学者都应该收藏

    这么说吧,在我眼里,Java 就是最流行的编程语言,没有之一(PHP 往一边站).不仅岗位多,容易找到工作,关键是薪资水平也到位,不学 Java 亏得慌,对吧? 那可能零基础学编程的小伙伴就会头疼了, ...

  9. 面试官:兄弟,说说Java的static关键字吧

    读者乙在上一篇我去系列文章里留言说,"我盲猜下一篇标题是,'我去,你竟然不知道 static 关键字'".我只能说乙猜对了一半,像我这么有才华的博主,怎么可能被读者猜中了心思呢,必 ...

最新文章

  1. CentOS ping name or service not known问题解决
  2. 一个系统的base.css,兼容IE7,IE8,IE9,IE10,IE11,firefox,safari,谷歌,360,世界之窗等浏览器起的公共css
  3. Atlas, AJAX
  4. MS-SQL中创建索引
  5. mac git 冲突工具
  6. 游戏文件系统(a11s)
  7. 上面两点下面一个三角形_【人人都能欣赏的数学证明】为什么三角形的三个内角相加是180度?...
  8. 判断输入框是不是数字_【Excel技巧】老板说,“我只要数字!数字!”
  9. 测井数据处理matlab,如何用matlab从文本文件中选择性读取测井曲线
  10. 如何处理大数据量的查询
  11. 华为eNSP模拟器vlan 隔离技术的实现
  12. 电子课件html咋阅读,html教学课件
  13. 真 · 神经网络发明人福岛邦彦获奖,Schmidhuber、李飞飞点赞
  14. macos可以升级到指定版本吗_MacOS升级10.13后变垃圾,教你如何降级自救
  15. latex 矩阵叫行列编号
  16. 一个jar包冲突引起的StackOverflowError
  17. 李建忠设计模式之“单一职责”模式
  18. GE IC697CPX935 CPU模块PDF帅
  19. 音视频测试测的究竟是什么
  20. 计算机函数符号是什么符号,在计算机中数学函数的表达含义和符号

热门文章

  1. .NET混淆器 Dotfuscator使用教程三:保护你的应用之检查受保护的程序集
  2. sharepoint Lists Web service 用法
  3. 【学习笔记】第五章 python3核心技术与实践--字典和集合
  4. Java Integer的缓存策略
  5. 从Java面试官的角度,如何快速判断程序员的能力
  6. 2018年中国研究生数学建模竞赛--经验贴
  7. golang刷Leetcode系列 --- 加1
  8. java-第九章-编写程序,打印如图案,要求图案的行数由用户输入.
  9. Linux环境下Android开发环境的搭建
  10. Linux下/var/spool/clientmqueue空间不足的解决