- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四类的继承与派生
实验四、类的继承与派生 09计算机1 白杨 0929210028 1、定义1个CPeople类,其属性(保护类型)有:姓名、性别和年龄。2、从CPeople类派生出CStudent类,增加属性:学号、入学时间和入学成绩;3、从CPeople类派生出CTeacher类,添加属性:职务、部门和工作时间;4、由CStudent类派生出CGraduate类,添加属性:研究方向和导师;5、由CGraduate和CTeacher共同派生出在职研究生类CGradonWork6、对上述类分别定义其中的构造函数和输出函数,并在主函数中定义对象,进行测试,测试的代码大致如下:CGradonWork?gradonWork(tzcer,男,32,15,2003,335,computer,tangmin,jsj,sxxy,2002-8);?gradonWork.Print();其中CGradonWork?的构造函数参数分别对应的属性是一个在职的研究生对象,其姓名为tzcer,性别为男,32岁,学号15,2003年读在职,入学成绩335,就读计算机方向,其导师tangmin,同时tzcer也是sxxy部门,jsj专业的老师,2002-8月入职。要求记录输出信息并说明实验步骤和解决方法!7、问题:何为继承二义性,在本实验中哪个地方存在二义性,你是如何解决的?继承的概念:派生类拥有基类的数据成员和成员函数。继承方式:公有继承、保护继承、私有继承。派生类对基类成员的访问形式:通过派生类对象直接访问基类成员,在派生类成员函数中直接访问基类成员,通过基类名字限定访问被重载的基类成员名。类对象成员的构造:先构造成员,再构造自身(调用构造函数)。派生类对象的构造:先构造基类,再构造成员,最后构造自身(调用构造函数)。基类构造顺序由派生层次决定:最远的基类最先构造。成员构造顺序和定义顺序相同。析构函数的析构顺序与构造相反。虚拟基类在派生类中只存在一份拷贝,解决了基类数据成员的二义性问题。#includeiostreamusing namespace std;const int SIZE=1001; class CPeople{protected:?char *name;?char *sex;?int age;public:/*CPeople() {name = new char[SIZE];sex = new char[SIZE];}*/ //与下面的构造函数重复 下同?CPeople(char* _name=No, char* _sex=No, int _age=0)?{??name = new char[strlen(_name)+1];??if(name) strcpy(name, _name);????sex = new char[strlen(_sex)+1];??if(sex) strcpy(sex, _sex);????age = _age;?}?~CPeople() {delete []name; delete []sex;}?char* Get_name() {return name;}?char* Get_sex() {return sex;}?int Get_age() {return age;}?void Print()?{??coutname :nameendl;??coutsex :sexendl;??coutage :ageendl;?}}; class CStudent: public virtual CPeople //虚拟继承 CPeople为虚拟基类{protected:?int stu_num;?char *intime;?int inscore;public:?//CStudent() {intime = new char[SIZE];}?CStudent(char* _name=No, char* _sex=No, int _age=0, int _stu_num=0, char* _intime=0000, int _inscore=0) : ?? CPeople(_name, _sex, _age)?? {??? stu_num = _stu_num;??? ??? intime = new char[strlen(_intime)+1];??? if(intime) strcpy(intime, _intime);??? ??? inscore = _inscore;?? }?? ~CStudent() {delete []intime;}??
有哪些信誉好的足球投注网站
文档评论(0)