第一节繼承的概念 (教材①P201-203) 由此可知,继承具有以下特点 女继承具有层次结构 ★越在上面的类越具有普通性和共性,下层比上层 更具体,越在下层越细化、专 的全部数据结构及操作方法(数据成员及成员函 数) 三、继承的分类及有关术语 继承的分类 单继承:只有一个基类的继承构成树形类层次结 构(P203) >多继承:有二个或以上基类的继承构成有向图的 层次结构(P203)
第一节 继承的概念 (教材①P201-203) ➢由此可知,继承具有以下特点: 继承具有层次结构 越在上面的类越具有普通性和共性,下层比上层 更具体,越在下层越细化、专门化。 继承具有传递性,即派生类能自动继承上层基类 的全部数据结构及操作方法(数据成员及成员函 数)。 三、继承的分类及有关术语 1、继承的分类: ➢单继承:只有一个基类的继承——构成树形类层次结 构(P203) ➢多继承:有二个或以上基类的继承——构成有向图的 层次结构(P203)
第一节繼承的概念 (教材①P201-203) 2、继承的有关术语 >基类(Base) >派生类Dere) 直接基类 亠>间接基类 >直接派生 >间接派生
第一节 继承的概念 (教材①P201-203) 2、继承的有关术语 ➢基类(Base) ➢派生类(Derived) ➢直接基类 ➢间接基类 ➢直接派生 ➢间接派生
第二节单繼承的派生类 (教材①203-219) 派生类的定义 1、定义格式: class派生类名:<继承方式基类名 <派生类新定义的成员>} >例【41】在基类bae中定义一个平面点,通过派生 derived定义空间点
第二节 单继承的派生类 (教材①203-219) 一、派生类的定义 1、定义格式: class 派生类名:<继承方式> 基类名 { <派生类新定义的成员> } ➢例【4.1】在基类base中定义一个平面点,通过派生 derived定义空间点
第二节单繼承的派生类 (教材①203-219) #includesiostream> using namespace std class Base∥基类Base的定义 i private float x, y; public: Base(float a=0, float b=0) {x=a;y=b;} void print(void) i cout<<x=<<x<<ny=<<y<<end;)
第二节 单继承的派生类 (教材①203-219) #include<iostream> using namespace std; class Base //基类Base的定义 { private: float x,y; public: Base(float a=0,float b=0) {x=a;y=b;} void print(void) { cout<<"x="<<x<<"\ny="<<y<<endl;} };
第二节单繼承的派生类 (教材①203-219) class Derived: public base 一派生类 Derived的定义注意定义方法 i private: float z. public: Derived (float a=0, float b=0, float c=0): Base(a, b z=c;}/派生类的构造函数定义 void print(void)/派生类的成员函数 { Base:;prin0:调周用基类Bse的成员函数pit(; 2 coutse'T '/Ksen
第二节 单继承的派生类 (教材①203-219) class Derived:public Base //派生类Derived的定义——注意定义方法 { private: float z; public: Derived(float a=0,float b=0,float c=0):Base(a,b) { z=c;}//派生类的构造函数定义 void print(void) //派生类的成员函数 { Base::print();//调用基类Base的成员函数print(); cout<<"z="<<z<<endl; } };