实验5派生与继承.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验5派生与继承

实验5 派生与继承 实验目的 理解继承思想,掌握继承的语法。 体会不同继承方式下派生类对基类成员的访问权限 掌握派生类中构造函数和析构函数的定义形式,理解其与基类构造函数和析构函数的关系与调用; 掌握派生类与基类同名函数的调用方法 理解继承体系中的赋值兼容性原则 掌握多继承的语法形式,理解虚继承关系。 实验内容 设计一个学生和教师类,学生数据有编号、姓名、班级和成绩;教师数据有编号、姓名、职称和部门;要求:运用继承的思想实现相关功能:对学生和教师的数据进行输入和显示,类中包括各种构造函数 ,思考如何在派生类的构造函数中初始化基类的成员。 设计球类,用组合及继承包含点,在各个类中添加构造函数和show方法,并能计算球的表面积和体积。 1)按组合关系构造一个球类Ball,包含一个空间中的点(x,y,z)。 2)按继承构造一个球类Sphere,构成三级单继承关系。 3) 按组合和继承关系构造一个非均匀的球体类,其中包括一个几何中心和物理重心 编写一个程序,实现字符串的相关操作。要求: 在已有简单串类myString的基础上派生字符串类String1,类中包含返回字符串长度功能,并能使用运算符实现字符串连接与比较(不用库函数); 设计一个具有编辑功能的串类String2,它从String1类派生而来。成员函数能够在在字符串指定位置处实现如下操作:插入字符串、替换和删除某个字符, 并能查找子串。 设计UML图见下 myString +myString (char *= 0) +myString(const myString ) + ~ myString ( ) +set(char *) :void +getStr(): char* +print(): void # pStr :char * String1 +getLen(): int +opertor+( String1): String1 +opertor=( String1): String1 +operator( String1): bool # len : int String2 +insert(char*): void +replace(char ): void +delete( char ): bool +find( const char*):int 综合性的实验,设计数组类族。要求编写的程序涉及到C++的许多知识点,如类的定义,动态分配内存,构造函数,派生,虚基类等。实验内容给出的是一个完整的程序,4个题目实际是类等级。同学也可以在此基础上发挥增加新的内容。 定义一个基类MyArray,基类中可以存放一组数组。编写构造函数,析构函数及其它函数,实现动态分配内存,释放内存和数据输入输出等功能。并进行调试。 定义一个类averarray继承自myarray,在类中求数组的平均值,并输出。进行调试。 定义一个类revarray继承自 myarray, 使数组按反序存放,并输出。进行调试。 定义一个类Safearray继承自averarray和revarray,并保证访问数组不会越界。在继承过程中声明为虚基类,体会虚基类在解决二义性中的问题中的作用。调试中可以试一试不用虚基类出现的问题。 5. 编写一个程序实现小型公司的工资管理。测试各个类,输出不同人员的工资。 该公司主要有4类人员:经理、兼职技术人员、销售员和销售经理。要求存储这些人的编号、姓名和月工资,计算月工资并显示全部信息。 月工资计算办法是:经理拿固定月薪8000元,兼职技术人员按每小时100元领取月薪,销售员按当月销售额的4%提成,销售经理既拿固定月工资也领取销售提成,固定月工资为5000元,销售提成为所管辖部门当月销售总额的5‰。 三.问答题(提交书面作业) 1.阅读程序,回答问题 #include iostream using namespace std; class A { public: void f1(); A() {i1=10;j1=11;} protected: int j1; private: int i1; }; class B:private A { public: void f2(); B() {i2=20;j2=21;} protected: int j2; private: int i2; }; class C: public B { public: void f3(); C() {i3=30;j3=31;} protected: int j3; private: int i3; }; 回答下列问题: 派生类B中成员函数f2()能否访问基类A中的成员f1()、i1和j1? 派生类B的对象b能否访问基类A中的

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档