zoukankan      html  css  js  c++  java
  • C++继承和派生

    1.继承和派生:

    • 继承和派生是同一个过程从不同角的度看

    • 保持已有类的特性而构造新类的过程称为继承。

    • 在已有类的基础上新增自己的特性而产生新类的过程称为派生。

    • 被继承的已有类称为基类(或父类)。

    • 派生出的新类称为派生类(或子类)。

    • 直接参与派生出某类的基类称为直接基类。

    • 基类的基类甚至更高层的基类称为间接基类。

    2.使用语法:

    • 单继承:
               派生类名 继承方式  基类名
          class derived: public base
          {
          }
    
    • 多基层:
               派生类名 继承方式  基类名,继承方式  基类名
          class derived: public base1,private base2
          {
          }
    

    3.继承方式:

    • 公有继承
    • 私有继承
    • 保护继承
    1. 公有继承:
    • 派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;

    • 通过派生类的对象:只能访问public成员。

    1. 私有继承
    • 派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;

    • 通过派生类的对象:不能直接访问从基类继承的任何成员。

    1. 保护继承
    • 派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;

    • 通过派生类的对象:不能直接访问从基类继承的任何成员

    //公有继承                      对象访问    成员访问
    
    public    -->  public              Y         Y
    
    protected -->  protected           N         Y
    
    private   -->  private             N         N
    
     
    
    //保护继承                      对象访问    成员访问
    
    public    -->  protected           N         Y
    
    protected -->  protected           N         Y
    
    private   -->  protected           N         N
    
     
    
    //私有继承                      对象访问    成员访问
    
    public    -->  private             N         Y
    
    protected -->  private             N         Y
    
    private   -->  private             N         N
    
    
  • 相关阅读:
    BigDecimal 的用法
    奇葩问题:Invalid bound statement (not found): cn.zss.zsdemo.mapper.RoleMapper.selectByPrimaryKey
    论文速览:MFQE 2.0: A New Approach for Multi-frame Quality Enhancement on Compressed Video
    博文目录
    【DEBUG】ImportError: No module named 'pygal'
    反直觉的三门问题
    一些卷积概念和图解
    MATLAB随手记
    Python3随手记
    论文写作随手记
  • 原文地址:https://www.cnblogs.com/penuel/p/13150623.html
Copyright © 2011-2022 走看看