欢迎来到天天文库
浏览记录
ID:55704528
大小:202.50 KB
页数:11页
时间:2020-05-25
《实验二--类的继承与派生.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验二类的继承与派生一、实验目的1.掌握类的声明和使用。2.掌握对象的声明和使用。3.掌握具有不同访问属性的成员的访问方式。4.观察构造函数和析构函数的执行过程。5.学习声明和使用类的继承关系,声明派生类;6.熟悉不同继承方式下对基类成员的访问控制;二.实验内容1.设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。具有的属性如下:姓名charname[11]、编号charnumber[7]、性别c
2、harsex[3]、生日birthday、身份证号charid[20]。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。在测试程序中声明people类的对象数组,录入数据并显示。2.从people(人员)类派生出student(学生)类,添加属性:班号charclassNO[7];从people类派生出teacher(教师)类,添加属性:职务charpship[11]、部门chardepartt[21]。从student类中派生出g
3、raduate(研究生)类,添加属性:专业charsubject[21]、导师teacheradviser;从graduate类和teacher类派生出TA(助教博士生)类,重载相应的成员函数,测试这些类。三.实验步骤1.程序代码第一题#include#includeusingnamespacestd;classDate//日期类{private:intyear;intmonth;intday;public:Date(){}//默认构造Date(inty,intm,intd)//带参构造{year
4、=y;month=m;day=d;}voidset()//设置数据函数{cin>>year>>month>>day;}voiddisplay()//显示函数{cout<5、rthday(y,m,d){num=n;sex=s;strcpy(ID,id);}//有默认值的带参构造Person(Person&p)//拷贝构造{name=p.name;num=p.num;sex=p.sex;birthday=p.birthday;strcpy(ID,p.ID);}voidinput()//输入函数{cout<<"录入数据:"<>name;cout<<"编号:";cin>>num;cout<<"性别(m/f):";cin>>sex;cout<<"生日:";birthd6、ay.set();cout<<"身份证号:";cin>>ID;ID[18]=' ';cout<7、){Personp1;p1.input();p1.output();return0;}第二题#include#includeusingnamespacestd;classDate//日期类{private:intyear;intmonth;intday;public:Date(){}//默认构造Date(inty,intm,intd)//带参构造{year=y;month=m;day=d;}voidset()//设置数据函数{cin>>year>>month>>day;}voiddisplay()8、//显示函数{cout<
5、rthday(y,m,d){num=n;sex=s;strcpy(ID,id);}//有默认值的带参构造Person(Person&p)//拷贝构造{name=p.name;num=p.num;sex=p.sex;birthday=p.birthday;strcpy(ID,p.ID);}voidinput()//输入函数{cout<<"录入数据:"<>name;cout<<"编号:";cin>>num;cout<<"性别(m/f):";cin>>sex;cout<<"生日:";birthd
6、ay.set();cout<<"身份证号:";cin>>ID;ID[18]=' ';cout<7、){Personp1;p1.input();p1.output();return0;}第二题#include#includeusingnamespacestd;classDate//日期类{private:intyear;intmonth;intday;public:Date(){}//默认构造Date(inty,intm,intd)//带参构造{year=y;month=m;day=d;}voidset()//设置数据函数{cin>>year>>month>>day;}voiddisplay()8、//显示函数{cout<
7、){Personp1;p1.input();p1.output();return0;}第二题#include#includeusingnamespacestd;classDate//日期类{private:intyear;intmonth;intday;public:Date(){}//默认构造Date(inty,intm,intd)//带参构造{year=y;month=m;day=d;}voidset()//设置数据函数{cin>>year>>month>>day;}voiddisplay()
8、//显示函数{cout<
此文档下载收益归作者所有