part4.(one)派生类及其对象

一、派生出的新类具有以下特点(主要是前两点):

  1派生类是基类定义的延续 --- 在派生类中可隐含地具有基类的任何成员。

  2派生类是基类定义的扩充 --- 在派生类中可重新定义新的成员(在第“part5”中还将看到,可在派生类中改变或扩充基类成员函数的功能)。

  3派生类可以是基类的组合 --- 派生类可由多个基类派生而来,此时派生类是所有基类的属性和行为的组合。

  总结:从一个或多个先前定义过的类(称为直接基类)中接受全部或一部分数据或函数(行为、操作),并且重新定义原有成员并补充定义新的成员,因而形成一个新的低层的类(称为直接派生类)。而该派生类又可用作更低层派生类的直接基类。

 

  这样就建立了类的层次(hierarchy of classes)

  可用有向无环图Directed Acyclic Graph, DAG)来表示继承关系。

二、应注意

 

  1.非静态数据存放在内存栈区空间内

  2.用new动态分配的数据存放在内存堆区空间内,以及

  3.静态数据和全局变量存放在内存数据空间内,

  这三类数据决不存放在同一个内存空间内。

基类和派生类 的对象不是一个对象哦

 

 

三、派生类对象向基类对象赋值,但是反过来不行。上图,对“x1”可以从右向左赋值,但是反过来不行

原文地址:https://www.cnblogs.com/kalo1111/p/3063697.html