资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,13.1,继承概述,什么是继承,基类与派生类,动物,哺乳动物,爬行动物,马,狗,工作型狗,牧羊犬,宠物狗,看家犬,猎犬,小哈吧狗,波斯狗,1.什么是继承,简单地说,“继承”是指某类事物具有比其父辈事物更一般性的某些特征(或称为属性),用对象和类的术语,我们可以这样表达:对象和类“继承”了另一个类的一组属性。,2.基类与派生类,可以将上图中的各个方块看作是一个类,因此,例子中所涉及的这些类之间构成了一幅清晰的层次结构,既有类称为基类,以它为基础建立的新类称为派生类。,范例,继承应用的例子1,创建派生类对象并进行初始化,在主程序中通过继承基类的成员属性,即可将三维对象的坐标值进行输出。,继承应用的例子2,在主程序中创建派生类对象b,对象b调用基类的公有成员函数传递参数,然后对象b再调用自己的成员函数进行输出。,13.3使用,继承,继承的一般形式如下:,class 派生类:访问权限 基类,访问权限是访问控制说明符,它可以是public、private或protected。,范例,继承应用的例子1,创建派生类对象并进行初始化,在主程序中通过继承基类的成员属性,即可将三维对象的坐标值进行输出。,继承应用的例子2,在主程序中创建派生类对象b,对象b调用基类的公有成员函数传递参数,然后对象b再调用自己的成员函数进行输出。,范例,继承的应用,主程序中创建派生类对象cm,然后按照基类1,基类2,派生类的顺序依次调用构造函数进行输出,释放对象时按照构造函数相反的顺序依次调用析构函数进行输出。,13.6 跟我上机,设计一个基类base,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数。再由base派生出教师类techer,包含职称和专业私有数据成员以及相关的成员函数。然后由1eader和techer类派生出教学主任类chairman。,请编写一个完整的C+程序,并采用一些数据进行输入输出。,Time:Time(int hour,int minute,int second),if(hour0|minute0|second0),hh=0;mm=0;ss=0;,cout非法的初值!时间不能为负59),minute=minute+second/60;second=second%60;,if(minute59),hour=hour+minute/60;minute=minute%60;,if(hour 23)hour=hour%24;,hh=hour;mm=minute ;ss=second ;,Time:Time(char*string),char*str=new char 3 ;,str0=string0;,str1=string1;,str2=0;,hh=atoi(str);,str0=string3;,str1=string4;,str2=0;,mm=atoi(str);,str0=string6;,str1=string7;,str2=0;,ss=atoi(str);,delete str;,void main(),Time t1,t2(100,100,100),t3(3690),t4(18:56:34);,coutt1:;,t1.print();,coutt2:;,t2.print();,coutt3:;,t3.print();,coutt4:;,t4.print();,
展开阅读全文