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

    技术2025-10-01  9

    继承和派生

    类与类之间的关系继承的方式派生类成员的标识和访问 继承中的构造和析构父类与子类的构造,析构函数的关系继承中构造析构调用原则继承和组合并存,构造和析构原则继承中同名成员变量处理方法派生类中的static关键字

    类与类之间的关系

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

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

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

    继承的方式

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

    派生类成员的标识和访问

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

    继承中的构造和析构

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

    子类对象可以当作父类对象使用 子类对象可以直接赋值给父类对象 子类对象可以直接初始化父类对象 父类指针可以直接指向子类对象 父类引用可以直接引用子类对象 在替代之后,派生类对象就可以作为基类的对象使用,但是只能使用从基类继承的成员 子类就是特殊的父类 (base *p = &child;)

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

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

    继承中构造析构调用原则

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

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

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

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

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

    派生类中的static关键字

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

    Processed: 0.009, SQL: 9