青岛理工大学C++第三次上机实验报告.doc
《青岛理工大学C++第三次上机实验报告.doc》由会员分享,可在线阅读,更多相关《青岛理工大学C++第三次上机实验报告.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程实验报告课程名称C+面向对象程序设计班级实验日期姓名学号实验成绩实验名称实验一 类和对象实验目的及要求运算符重载1、 理解运算符重载的重要性及好处2、 理解那些运算符可以重载而那些不能重载3、 理解单目运算符和双目运算符重载时特点4、 熟练掌握一般运算符重载的方法5、 掌握特殊运算符重载的方法多态与虚函数1、 理解静态联编和动态联编,理解多态的概念2、 理解虚函数在类的继承层次中的作用及虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出运行结果3、 了解虚函数对多态性的支持4、 掌握虚函数和纯虚函数的概念5、 理解静态多态性和动态多态性,学习使用虚函数的继承实现动态多态性6、
2、了解抽象类的概念实验环境VC+6.0实验内容1、 编写一个时间类time,包含时、分、秒等数据成员,实现时间的加、减、输入和输出操作。其中加减通过重载运算符来实现2、 设计一个三角形类triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符+,以实现两个三角形的面积之和。分析提示:在triangle类中设计一个友元函数operator+(triangle t1,trianglet2),它重载运算符+,返回t1和t2两个三角形的面积之和3、 分析程序错误,分析原因并改正4、下面的shape类是一个表示形状的抽象类,area()为求图形面积的函数。请从shape类派生三角形类(tri
3、angle)和圆类(circle),并给出具体的求面积函数算法描述及实验步骤Time类-hour:int;-mintue:int;-second:int;+ get();+ disp();+operator+();+operator-();1)time2)求两个三角形的面积之和triangle类-p:double-sp:double-a:int-b:int-c:int+triangle(int a,int b,int c)+void disp()+friend double operator+(triangle t1,triangle t2)3)A类-x:int+virtual int dis
4、p()+show(A&p)+A(int i)B类-y:int+virtual int disp()+B(int i.int j)4)Shape类+virtual float area()triangle类-a:int-b:int-c:int-s:float-p:float+triangle()+virtual float area()circle类-r:float+circle(float r)+virtual float area()调试过程及实验结果总结这一次实验中,运算符重载的这一部分,对于如何去实现输入时间、输入三角形的三边长,我遇到了一些困难,一开始的时候我只是在主函数中初始化了tr
5、iangle的对象,使它们调用求面积函数,而不是通过在运行窗口中直接输入求得,后来我通过查看课本上的实例,通过get()函数来获取。在编写time类时,一开始由于编写的重载运算符的友元函数operator+()中的算法错误,使得输出的两时间的和不对,经过修改后得出了正确的结果在多态与虚函数这一部分,通过使用纯虚函数,了解了纯虚函数的使用方法,以及抽象类的定义附录1、#includeclass timepublic:time(int h,int m,int s)hour=h;mintue=m;second=s;void get() couthourmintuesecond;if(hour=0&h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 青岛 理工大学 C+ 第三次 上机 实验 报告
限制150内