美文网首页
C艹之路 1.1f继承与派生,多态与虚函数

C艹之路 1.1f继承与派生,多态与虚函数

作者: 农家小升 | 来源:发表于2020-01-08 14:48 被阅读0次

    抽象,封装,继承,多态这是面向对象的四个特点
    抽象,封装指的类的声明
    继承指的是类的继承
    封装

    封装

    派生类
    • class 派生类名 : [继承方式] 基类名
      {派生类新增的成员};
      继承方式有:public(公用的),private(私有的),protected(受保护的),默认为private(私有的)

    • 继承有三部分工作
      1.接受全部基类成员,但不接受基类的构造函数与析构函数
      2.调整成员:改变访问属性;
      3.增加新成员

    访问属性
    • 公用继承
    基类 继承方式 派生类
    私有 公用 不可访问
    公用 公用 公用
    保护 公用 保护
    • 私有继承
    基类 继承方式 派生类
    私有 私有 不可访问
    公用 私有 私有
    保护 私有 私有
    • 保护继承
    基类 继承方式 派生类
    私有 保护 不可访问
    公用 保护 保护
    保护 保护 保护
    多级派生

    派生的构造与析构函数

    • 简单派生

    • 有子对象派生
      派生类的构造函数,需要把子类对象放在基类后面基类(),子对象()
      后面{}才是自己的参数赋值

    • 多层派生

    • 派生的特殊形式

    • 派生类的析构

    多重继承

    尤其注意多重继承的歧义我继承的是b还是c(如果b,c里面有相同的内容的话)

    • class D:public A,private B,protected C {类D新增成员}
    • 虚基类
      class D:virtual p** A
    基类与派生类转换
    继承与组合

    多态与虚函数[只支持类,不支持多态,不能被称为OOB语言]

    同个消息,但是不同对象收到后会有不同的行为 在C++中,不同功能的函数可以使用相同的函数名,从而可以用相同的函数名调用不同的函数

    • 利用虚函数实现动态多态性
      virtual放在void前面即可(设置在基类函数上,主要是考虑到子类函数调用)
    纯虚函数
    抽象类

    相关文章

      网友评论

          本文标题:C艹之路 1.1f继承与派生,多态与虚函数

          本文链接:https://www.haomeiwen.com/subject/ojksactx.html