- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2 派生类与继承.doc
实验2 派生类与继承 实验课程名:面向对象程序设计(C++) 专业班级: 计算机应用技术 学号: 201130410115 姓名: 熊柳强 实验时间: 2012-10-9 实验地点: k4-207 指导教师: 谢晋 一、实验目的和要求 (1) 掌握派生类的声明方法和派生类构造函数的定义方法。 (2) 掌握不同继承方式下,基类成员在派生类中的访问属性。 (3) 掌握在继承方式下,构造函数与析构函数的执行顺序与构造规则。 (4) 学习虚基类在解决二义性问题中的作用。 二、实验内容 1、源程序代码: //test4_1.cpp #includeiostream using namespace std; class Base{ public: void setx(int i) {x=i;} int getx() {return x;} public: int x; }; class Derived:public Base{ public: void sety(int i) {y=i;} int gety() {return y;} void show() {coutBase::x=xendl; } public: int y; }; int main() { Derived bb; bb.setx(16); bb.sety(25); bb.show(); coutBase::x=bb.xendl; coutDerived::y=bb.yendl; coutBase::x=bb.getx()endl; coutDerived::y=bb.gety()endl; return 0; } 运行结果: 写出程序的运行结果。 (2) 按以下要求,对程序进行修改后再调试,指出调试中出错的原因。 ①将基类Base中数据成员x的访问权限改为private时,会出现哪些错误?为什么? 在派生类中不能使用基类的数据成员。因为数据成员为私有的。 ②将基类Base中数据成员x的访问权限改为protected时,会出现哪些错误?为什么? 主函数中不能访问基类中的保护数据成员。因为数据成员被保护了。 ③在源程序的基础上,将派生类Derived的继承方式改为private时,会出现哪些错误?为什么? Setx、x、getx不能访问Base中的共有数据成员。因为派生继承为是由继承。 ④在源程序的基础上,将派生类Derived的继承方式改为protected时,会出现哪些错误?为什么? 和上面的问题一样。 源程序代码: #includeiostream using namespace std; class Person{ public: void xinxi() { cinstu_no; cinname; cinsex; cinage; } void show() { cout编号:stu_noendl; cout姓名:nameendl; cout性别:sexendl; cout年龄:ageendl; } private: int stu_no; char name[15]; char sex[3]; int age; }; class Student:public Person{ public: void shuru1() { cinsystem; cinscore; } void show1() { cout院系:systemendl; cout成绩:scoreendl; } private: float score; char system[15]; }; class Teacher:public Person{ public: void shuru2() { cinpostion; cinpart; } void show2() { cout职称:postionendl; cout部门:partendl; } private: char postion[20]; char part[56]; }; void main() { Student A; A.xinxi(); A.show(); A.shuru1(); A.show1(); Teacher B; B.xinxi(); B.show(); B.shuru2(); B.show2(); } 运行结果: 3、源程序代码: (1) 阅读、编辑、编译、调试和运行以下程序,并写出程序的运行结果。 //test4_3_1.cpp
有哪些信誉好的足球投注网站
文档评论(0)