C++的继承和派生基础知识
继承和派生
类与类之间的关系
类的继承定义:
类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。
派生与继承,是同一种意义两种称谓。 isA 的关系。
派生类的组成
派生类中的成员,包含两大部分,一类是从基类继承过来的,一类是自己增加的成员。从基类继承过来的表现其共性,而新增的成员体现了其个性。
继承的方式
一个派生类可以同时有多个基类,这种情况称为多重继承,派生类只有一个基类,称为单继承。
派生类成员的标识和访问
1、需要被外界访问的成员直接设置为public
2、只能在当前类中访问的成员设置为private
3、只能在当前类和子类中访问的成员设置为protected
继承中的构造和析构
类型兼容规则中所指的替代包括以下情况:
子类对象可以当作父类对象使用
子类对象可以直接赋值给父类对象
子类对象可以直接初始化父类对象
父类指针可以直接指向子类对象
父类引用可以直接引用子类对象
在替代之后,派生类对象就可以作为基类的对象使用,但是只能使用从基类继承的成员
子类就是特殊的父类 (base *p = &child;)
父类与子类的构造,析构函数的关系
在子类对象构造时,需要调用父类构造函数对其继承得来的成员进行初始化.
在子类对象析构时,需要调用父类析构函数对其继承得来的成员进行清理.
继承中构造析构调用原则
1、子类对象在创建时会首先调用父类的构造函数
2、父类构造函数执行结束后,执行子类的构造函数
3、当父类的构造函数有参数时,需要在子类的初始化列表中显示调用
4、析构函数调用的先后顺序与构造函数相反
继承和组合并存,构造和析构原则
先构造父类,再构造成员变量、最后构造自己
先析构自己,在析构成员变量、最后析构父类
继承中同名成员变量处理方法
1、当子类成员变量与父类成员变量同名时
2、子类依然从父类继承同名成员
3、在子类中通过作用域分辨符::进行同名成员区分(在派生类中使用基类的同名成员,显式地使用类名限定符
4、同名成员存储在内存中的不同位置
派生类中的static关键字
¬ 基类定义的静态成员,将被所有派生类共享
¬ 根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质(遵守派生类的访问控制)
¬ 派生类中访问静态成员,用以下形式显式说明:
类名 :: 成员
或通过对象访问 对象名.成员
- C/C++基础知识总结——继承与派生
- 关于C++程序设计的基础核心之二:继承与派生的基本知识
- 26、不一样的C++系列--继承的基础知识
- [C++ Primer Plus] 类基础知识--类继承
- 【c++语言基础】浅析C++继承与派生
- C++基础(八)继承与派生——派生类成员的访问属性
- 认识C++继承派生时基类构造函数的是怎样调用的,以及模板的相关知识?
- 【C++学习笔记】继承与派生基础概念
- C++基础(九)继承与派生——派生类成员的构造函数和析构函数
- C++基础(十)继承与派生——多重继承
- c++之继承基础知识
- C++学习6-面向对象编程基础(运算符重载、类的派生与继承、命名空间)
- C++基础知识: 公有继承,保护继承,私有继承的总结,私有继承的用意何在
- C++知识要点整理11:继承与派生(1)
- c++基础(继承与派生)
- C++基础:继承与派生(声明 继承方式 访问规则)
- C++知识要点整理12:继承与派生(2)
- (C++基础)浅谈继承与派生
- C++基础(8)继承和派生
- C++知识文档八_继承和派生