欢迎来到天天文库
浏览记录
ID:45137018
大小:304.50 KB
页数:78页
时间:2019-11-10
《C++面向对象程序设计-第3课--继承性-派生类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++面向对象程序设计教程第5章继承5.1继承与派生5.1.1继承与派生的概念类的继承指新类从已有类那里得到已有的特性。从已有类产生新类的过程就是类的派生。类的继承使程序员在已有类的基础上,通过增加少量代码或修改少量代码的方法得到新的类,新类包含了已有类的特征,同时也可以加入新特性。已有类称为基类或父类,新类称为派生类或子类。派生类也可以作为基类派生出新的类,这样就形成了类的层次结构。实例说明为什么要使用继承现有一个类Person(人),包含有name(姓名),age(年龄)、sex(性别)等数据成员与相关成员函数//声明类Person(人)classPerson{pr
2、otected://数据成员charname[18];//姓名intage;//年龄charsex[3];//性别public://公有函数Person(charnm[],intag,charsx[]):age(ag){strcpy(name,nm);strcpy(sex,sx);}//构造函数voidSetName(charnm[]){strcpy(name,nm);}//设置姓名voidSetAge(intag){age=ag;;}//设置年龄voidSetSex(charsx[]){strcpy(sex,sx);}//设置性别constchar*GetName()
3、const{returnname;}//返回姓名intGetAge()const{returnage;}//返回年龄constchar*GetSex()const{returnsex;}//返回性别voidShow()const;//显示相关信息};实例说明为什么要使用继承实例说明为什么要使用继承现在要声明另一个类Student(学生),包含有num(学号),name(姓名),age(年龄),sex(性别)数据成员与相关成员函数//声明类Student(学生)classStudent{protected://数据成员intnum;//学号charname[18];//姓
4、名intage;//年龄charsex[3];//性别public://公有函数Student(intn,charnm[],intag,charsx[]):num(n),age(ag{strcpy(name,nm);strcpy(sex,sx);})//构造函数voidSetNum(intn){num=n;}//设置学号voidSetName(charnm[]){strcpy(name,nm);}//设置姓名voidSetAge(intag){age=ag;;}//设置年龄voidSetSex(charsx[]){strcpy(sex,sx);}//设置性别intGet
5、Num()const{returnnum;}//返回学号constchar*GetName()const{returnname;}//返回姓名intGetAge()const{returnage;}//返回年龄constchar*GetSex()const{returnsex;}//返回性别voidShow()const;//显示相关信息};实例说明为什么要使用继承实例说明为什么要使用继承只要在类Person(人)的基础上再增加数据成员num(学号),成员函数SetNum()和GetNum(),然后再对成员函数Show()作适当修改就可以声明出类Student(学生)。
6、这样声明的两个类的代码严重重复。为提高代码的重用性,引入继承机制,将类Student说明成类Person的派生类,这样相同的成员在类Student中就不需要再次进行声明。5.1.2派生类的声明为便于大家理解怎样从类派生出另一个类,观察如下从类Person派生出类Student的方法//声明类Person(人)classPerson{protected://数据成员charname[18];//姓名intage;//年龄charsex[3];//性别public://公有函数……};//声明类Student(学生)classStudent:publicPerson//声明
7、为类Person的派生类{protected://数据成员intnum;//学号public://公有函数voidSetNum(intn){num=n;}//设置学号intGetNum()const{returnnum;}//返回学号……};在类名Student后跟的冒号后面,跟着关键字public与类名Person,这表示类Student将继承类Person的特性。其中类Person为直接基类,简称为基类,类Student是直接派生类,简称为派生类。关键字public指出派生的方式,告诉编译程序,派生类Student是从基类Person
此文档下载收益归作者所有