您的位置:首页 > 编程语言 > C语言/C++

C++的继承和派生基础知识

2020-07-04 23:03 11 查看

继承和派生

  • 继承中的构造和析构
  • 类与类之间的关系


    类的继承定义:
    类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类

    派生与继承,是同一种意义两种称谓。  isA 的关系。  


    派生类的组成
    派生类中的成员,包含两大部分,一类是从基类继承过来的,一类是自己增加的成员。从基类继承过来的表现其共性,而新增的成员体现了其个性。

    继承的方式

    一个派生类可以同时有多个基类,这种情况称为多重继承,派生类只有一个基类,称为单继承。

    派生类成员的标识和访问

    1、需要被外界访问的成员直接设置为public
    2、只能在当前类中访问的成员设置为private
    3、只能在当前类和子类中访问的成员设置为protected


    继承中的构造和析构

    类型兼容规则中所指的替代包括以下情况:

    子类对象可以当作父类对象使用
    子类对象可以直接赋值给父类对象
    子类对象可以直接初始化父类对象
    父类指针可以直接指向子类对象
    父类引用可以直接引用子类对象

    在替代之后,派生类对象就可以作为基类的对象使用,但是只能使用从基类继承的成员
    子类就是特殊的父类 (base *p = &child;)

    父类与子类的构造,析构函数的关系

    在子类对象构造时,需要调用父类构造函数对其继承得来的成员进行初始化.
    在子类对象析构时,需要调用父类析构函数对其继承得来的成员进行清理.

    继承中构造析构调用原则

    1、子类对象在创建时会首先调用父类的构造函数
    2、父类构造函数执行结束后,执行子类的构造函数
    3、当父类的构造函数有参数时,需要在子类的初始化列表中显示调用
    4、析构函数调用的先后顺序与构造函数相反

    继承和组合并存,构造和析构原则

    先构造父类,再构造成员变量、最后构造自己
    先析构自己,在析构成员变量、最后析构父类

    继承中同名成员变量处理方法

    1、当子类成员变量与父类成员变量同名时
    2、子类依然从父类继承同名成员
    3、在子类中通过作用域分辨符::进行同名成员区分(在派生类中使用基类的同名成员,显式地使用类名限定符
    4、同名成员存储在内存中的不同位置

    派生类中的static关键字

    ¬ 基类定义的静态成员,将被所有派生类共享
    ¬ 根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质(遵守派生类的访问控制)
    ¬ 派生类中访问静态成员,用以下形式显式说明:
    类名 :: 成员
    或通过对象访问 对象名.成员

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: