zoukankan      html  css  js  c++  java
  • C++中基类与派生类的关系,以及相关的继承方式

    一.

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

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

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

    二. 继承方式:

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

      {

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

      }

    三.继承的效果与问题:

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

      例:

      父类:class Fa    子类:class Son 

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

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

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

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

      父类中的:

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

      !!!:继承方式:

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

    四.虚函数

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

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

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

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

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

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

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

      

  • 相关阅读:
    面试问题之C++语言:C++中指针和引用的区别
    手撕代码:最长回文子串
    手撕代码:求字符串最长回文子序列
    手撕代码:用宏来实现获取数组的大小
    手撕代码之线程:thread类简单使用
    面试问题之计算机网络:OSI七层网络模型及相关协议
    C++各种输入
    C printf格式化输出
    记一次mac 安装MySQL-python 的惨痛经历
    记一次tomcat程序运行慢的处理过程
  • 原文地址:https://www.cnblogs.com/gumpzlc/p/9463259.html
Copyright © 2011-2022 走看看