继承是一种耦合度很强的关系 和父类代码很多都重复的

2 继承的概念

3 继承的概念和推演

语法:

class 派生类:访问修饰符 基类

代码:

… …

4 继承方式与访问控制权限

相对的说法:

爹派生

儿子继承

子类虽然看起来是在父类的基础上增加了一些东西

但实际上子类和父类是完全独立的两个东西

5 继承方式的练习

6 继承类的兼容性原则

子类空间比父类空间大

7 利用兼容性原则的传参方式

声明一个父类的指针 子类都可以使用

声明一个父类的指针 子类都可以使用

8 继承中的构造析构顺序

结论:子类在进行初始化成员变量的时候,如果此成员变量是继承过来的,那么需要调用父类的构造器来初始化

9 当子类中有和父类重名的变量

如果想访问父类中的a需要加上父类的作用域,否则调用的是子类中覆盖的a

10 继承中的static成员

static不仅要在内部声明 也要在外部进行初始化

11 多继承的基本概念

12 多继承和虚继承

需要使用虚继承

(这里b不知道是哪个的,产生二义性

(编译器干的事情)

13 中午回顾

14 多态的基本概念

多态:可以用父类指针调用子类的方法,前提是(子类重写父类的虚函数

15 多态小案例练习

16 多态的成立条件

17 动态联编和静态联编

加virtual关键字告诉编译器这块先别给我绑定 来个晚绑定,如果不加virtual就是静态联编了

18 虚析构函数

加上virtual关键字后正常了

19 重载重写重定义

重载  名字和返回值一样的两个函数

重写 (虚函数 加vitrual        两个类中

重定义                      两个类中

C++基础 (6) 第六天 继承 虚函数 虚继承 多态 虚函数的更多相关文章

  1. C++ 虚函数表与多态 —— 虚函数表的内存布局

       C++面试经常会被问的问题就是多态原理.如果对C++面向对象本质理解不是特别好,问到这里就会崩. 下面从基本到原理,详细说说多态的实现:虚函数 & 虚函数表.   1. 多态的本质: 形 ...

  2. 虚函数列表: 取出方法 // 虚函数工作原理和(虚)继承类的内存占用大小计算 32位机器上 sizeof(void *) // 4byte

    #include <iostream> using namespace std; class A { public: A(){} virtual void geta(){ cout < ...

  3. 【整理】C++虚函数及其继承、虚继承类大小

    参考文章: http://blog.chinaunix.net/uid-25132162-id-1564955.html http://blog.csdn.net/haoel/article/deta ...

  4. C++类有继承时,析构函数必须为虚函数

    C++类有继承时,析构函数必须为虚函数.如果不是虚函数,则使用时可能存在内在泄漏的问题. 假设我们有这样一种继承关系: 如果我们以这种方式创建对象: SubClass* pObj = new SubC ...

  5. C++继承-重载-多态-虚函数

    C++ 继承 基类 & 派生类 一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数.定义一个派生类,我们使用一个类派生列表来指定基类.类派生列表以一个或多个基类命名,形式如下: ...

  6. C++解析(25):关于动态内存分配、虚函数和继承中强制类型转换的疑问

    0.目录 1.动态内存分配 1.1 new和malloc的区别 1.2 delete和free的区别 2.虚函数 2.1 构造函数与析构函数是否可以成为虚函数? 2.2 构造函数与析构函数是否可以发生 ...

  7. C++中对C的扩展学习新增内容———面向对象(继承)函数扩展性及虚函数机制

    1.c语言中的多态,动态绑定和静态绑定 void do_speak(void(*speak)()) { speak(); } void pig_speak() { cout << &quo ...

  8. 2014 0416 word清楚项目黑点 输入矩阵 普通继承和虚继承 函数指针实现多态 强弱类型语言

    1.word 如何清除项目黑点 选中文字区域,选择开始->样式->全部清除 2.公式编辑器输入矩阵 先输入方括号,接着选择格式->中间对齐,然后点下面红色框里的东西,组后输入数据   ...

  9. C#语法-虚方法详解 Virtual 虚函数

    虚方法 / Virtual 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

随机推荐

  1. 洛谷 P2728 纺车的轮子 Spinning Wheels

    P2728 纺车的轮子 Spinning Wheels 题目背景 一架纺车有五个纺轮(也就是五个同心圆),这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标 ...

  2. 使用excel进行数据挖掘(2)----分析关键影响因素

    使用excel进行数据挖掘(2)----分析关键影响因素 在配置环境后,能够使用excel进行数据挖掘. 环境配置问题可參阅: http://blog.csdn.net/xinxing__8185/a ...

  3. _DataStructure_C_Impl:基数排序

    #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #de ...

  4. &#39;hibernate.dialect&#39; must be set when no Connection available

    今天碰到的这个问题,非常无厘头.网上搜索了非常多.都不靠谱,还是靠自己 解决方法是在hibernate.cfg.xml中加入 <property name="dialect" ...

  5. UVa 10290 - {Sum+=i++} to Reach N

    题目:给你一个数字问将他写成连续的数字的和的形式.有几种写法. 分析:数论. 设拆成的序列个数为k,我们分两种情况讨论: 1.拆成奇数个连续数.那么设中位数是a,则有n = k * a: 2.拆成偶数 ...

  6. Tomcat容器 web.xml具体解释

    <init-param> <param-name>debug</param-name> <param-value>0</param-value&g ...

  7. 有什么springMVC+myBatis的书?

    最近在看MyBatis,把我最近看的东西给你整理一下吧. 书籍:深入浅出MyBatis技术原理与实战 下载地址:[免费]深入浅出MyBatis技术原理与实战.pdf-CSDN下载 MyBatis 相关 ...

  8. 最全三大框架整合(使用映射)——applicationContext.xml里面的配置

    applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?> <beans x ...

  9. canvas的自动画图

    <!DOCTYPE HTML><html><body> <canvas id="myCanvas" width="200&quo ...

  10. 用fiddler不能抓取https及证书无法导出

    本次说的不是首次安装fiddler 1.不管有没有安装成功,先查看有没有安装过证书,有的话删除,重新进行安装 打开fiddler,找到Tools-HTTPS-Athons-Open windows C ...