C++中基类与派生类的关系,以及相关的继承方式

一.

  类与类之间存在相同,也存在差异,于是就有了基类(基础类)也叫父类,基础类+差异就有了派生类(子类)

  继承的是子类(派生类),被继承的是父类(基类)‘;

  基类的出现可以节省大量的代码(代码复用),节省开发时间,缩短开发周期,但是提高了类与类之间的耦合度,降低了代码的安全性与可维护性

 

二. 继承方式:

  class 类名:继承方式 基类1,继承方式 基类2................

  {

    ........................

  }

三.继承的效果与问题:

  子类可以继承父类中的所有成员,

  例:

  父类:class Fa    子类:class Son 

    Fa *fa = new Son;  如果子类中有和父类中相同的成员,则会调用父类中的成员,这种叫隐藏(子类隐藏父类)

    Son *son = new Son;  这个时候会调用子类的;

  父子类不可以形成重载,只有在统一作用域下同名不同参或const属性的函数才能形成重载

  在子类中可以访问父类的权限:

  父类中的:

  public:在子类中可以访问,protceted:在子类中可以访问,private:在子类中不可以访问

  !!!:继承方式:

  public:不变  protected:公有变保护,其他不变  private:全部变私有

四.虚函数

  虚函数是实现多态的基础;

  在父类中的函数加virtual关键字,这个函数就叫做虚函数,如果子类中有相同函数,这个时候就会调用子类中的函数。

五.继承中的构造,拷贝与析构

  在继承时先调用父类的构造函数,在调用子类的

  在析构的时候,先调用自己的析构函数,在调用父类的

  拷贝的时候顺序与构造函数一样,

  可以继承多个父类,在构造时按顺序调用父类的构造,但是在析构的时候就先调用自己的,再按逆序调用析构函数

  

posted @ 2018-08-12 16:00  zlc1010  阅读(256)  评论(0编辑  收藏  举报