• C++知识点(七)继承与派生导学


    1.单继承多继承

      派生类继承的内容:

        原有基类成员,新增新的数据成员函数成员,

        一般情况下,构造函数和析构函数不被继承,而C++11中使用using可以继承

    2.派生类访问权限:

    • 公有继承:

        基类的public、protected、private属性在派生类中不变

        派生类的成员函数:对基类的public、protected能访问,private不能直接访问,可通过公有接口访问

        派生类的对象:只能访问基类public成员    

    • 私有继承: 

        基类的public、protected、private属性在派生类中都变成private

        派生类的成员函数:对基类的public、protected能访问,private不能直接访问,可通过公有接口访问

        派生类的对象:不能访问基类任何成员 

    • 保护继承:

        基类的public、protected属性在派生类中都变成protected,

        派生类的成员函数:对基类的public、protected能访问,private不能直接访问,可通过公有接口访问

        派生类的对象:不能访问基类任何成员 

    3.类型转换:基类与派生类之间  

      公有派生类对象可以作为基类对象使用

    4.派生类的构造函数、复制构造函数、析构函数

    • 构造函数
      • 从基类继承构造函数:using B::B;
      • 单继承:
        • 派生类名::派生类名(基类形参,派生类形参):基类名(参数表),派生类初始化表{};
      • 多继承:
        • 派生类名::派生类名(基类形参,派生类形参):基类名1(参数表1),基类名2(参数表2),派生类初始化表{};
      • 多继承和类组合时的构造函数:
        • 派生类名::派生类名(基类形参,派生类形参):基类名1(参数表1),基类名2(参数表2),本类成员(对象成员)派生类初始化表{};
      • 调用构造函数顺序:先基类,后派生类,基本按照声明定义的顺序
    • 复制构造函数
      • 先调用基类复制构造函数,后派生类复制构造函数  
    • 析构函数
      • 先调用派生类析构,再调用基类析构
    • 访问从基类继承的成员
      • 和派生类同名的成员的基类调用,加基类名::限定来访问

    5.虚基类virtual 二义性冗余

      菱形继承时二义性

  • 相关阅读:
    MySQL的主从复制配置
    MySQL多实例安装配置实现
    cmake编译安装MySQL5.5.32
    MySQL数据库备份与恢复
    MySQL字符集那些事
    MySQL忘记密码怎么办??
    MySQL创建用户以及授权
    svn commit is not under version control 和 git常用指令
    App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file
    2016年猴年大吉
  • 原文地址:https://www.cnblogs.com/lemon333333/p/10240565.html
Copyright © 2020-2023  润新知