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

posted @ 2020-06-17 09:37  penuel  阅读(123)  评论(0编辑  收藏  举报