• 五:继承和派生


    5.1:继承的三种方式

         继承:公有继承,私有继承,派生继承

         访问规则:

     私有成员:基类中的私有成员,无论哪一种方式继承在子类都不能直接访问。

     公有成员:基类公有成员被 public 继承 属性仍然是 public , private 继承,属性为private, 保护继承为 protected

     保护成员:公有继承 protected , 私有继承 private , 保护继承 protected

    5.2:派生类的构造函数和析构函数

         派生类的构造函数:必须对基类构造函数也进行初始化。

     class Bpublic A

     {

     public:

       B( int a1,  int b1 ):A(a),b(b1){}

     }

    5.3:多重继承和虚基类

     声明:

    class A:public B , private C ,protected D{

    //同样要初始化

    }

    多重继承构造函数,析构函数逇调用顺序:先调用基类的构造函数,在调用对象成员的构造函数,最后调用派生类构造函数,

    同一层次各个基类构造函数调用顺讯取决于声明继承的顺序。析构函数的调用与构造函数相反。

    虚基类:目的是为了解决二义性

    A同时继承了B类和C类,B 类和 C类都是都是继承D类,A类同时从B类和C类继承了D类数据成员,这样继承了2遍,为了解决这个问题用虚继承。

    clas B: virtual public D{

    }

    clas C: virtual public D{

    }

    class A:public B , public C{

    }

  • 相关阅读:
    Python之数学(math)和随机数(random)
    《图解HTTP》读书笔记
    leetcode1008
    leetcode1007
    leetcode1006
    leetcode1005
    leetcode218
    leetcode212
    leetcode149
    leetcode140
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/12831585.html
Copyright © 2020-2023  润新知