C++类的继承和派生,访问控制

   C++中的继承是面向对象的特点之一,其他两个为封装和多态。继承是A is a B,而组合是A has a B.(class A{```B x;})
   派生类是具体的个性,积累是抽象的共性。一个派生类有多个基类叫做多继承,单个叫做单继承。
   e.g.
    calss A:public B
     {//A为派生类 B为基类}
  (区别: “::”域作用符 和“:”  继承

  继承:吸收、新增、改变

派生类继承了基类的全部数据成员和除了构造、析构函数以外的全部函数成员。这些成员的访问属性可以改变,访问属性由继承方式确定。
三种继承方式:
    Base--------------Derived        基类       派生类
   a1  T   T        a1   T    T    public    类内外可见
   a2  T   F        a2   T    F    protected 类内可见
   a3  T   F        a3   F    F    private   不可见
   成员函数 对象         成员函数 对象
1.公有继承:(public)
    共有成员、保护成员的访问属性在派生类中不变,基类的私有成员不可直接访问。
2.私有继承:(private)
   基类中的公有成员和保护成员都以私有成员身份出现在派生类中。而基类的私有成员不可以在派生类里直接访问。
3.保护继承(protected)
   基类的公有成员和保护成员都以保护成员的身份出现在派生类中,而积累的私有成员不可直接访问。
注意:
不显示继承方式的关键字时,系统默认的为私有继承privae。
基类中私有成员不可见,其他成员访问权限不变。
构造、析构、友元不被继承.

猜你喜欢

转载自xmy564470466.iteye.com/blog/2208304