欢迎来到天天文库
浏览记录
ID:60797730
大小:610.50 KB
页数:44页
时间:2020-12-19
《西安交大C++程序设计第十章作业上课讲义.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、精品好文档,推荐学习交流西安交通大学实验报告课程__计算机程序设计__实验名称__多态性__第1页共44页系别__________实验日期2014年5月31日专业班级______组别_____________实验报告日期2014年5月31日姓名________学号__报告退发(订正、重做)同组人_________________________________教师审批签字一、实验目的理解掌握多态的使用方法,学会用虚函数。二、实验内容(一)第一题:定义一个类Base,该类含有虚函数display,然后定义它的两个派生类FirstB和SecondB,
2、这两个派生类均含有公有成员函数display,在主程序中,定义指向基类Base的指针变量ptr,并分别定义Base、FirstB、Second的对象b1、f1、s1,让ptr分别指向b1、f1、s1的起始地址,然后指向执行这些对象的成员函数display。1.源程序代码:#includeusingnamespacestd;classBase{public:virtualvoiddisplay(){cout<<"sound!sound!sound!";}};classFirstB:publicBase仅供学习与交流,如有侵权请联
3、系网站删除谢谢44精品好文档,推荐学习交流{public:voidvirtualdisplay(){cout<<"miao!miao!miao!";}};classSecondB:publicBase{public:voidvirtualdisplay(){cout<<"wang!wang!wang!";}};intmain(){Base*ptr;Baseb1;FirstBf1;SecondBs1;cout<<"指向基类Base:t";ptr=&b1;ptr->display();cout<<"指向派生类FirstBase:t";ptr=
4、&f1;ptr->display();cout<<"指向派生类SecondB:t";ptr=&s1;ptr->display();cout<usingnamespacestd;cl
5、assShape{public:virtualdoubleArea()const{return0.0;}//纯虚函数,在派生类中重载virtualdoubleVolume()const=0;virtualvoidPrintShapeName()const=0;virtualvoidPrint()const=0;};#endif//point.h点类#ifndefPOINT_H#definePOINT_H仅供学习与交流,如有侵权请联系网站删除谢谢44精品好文档,推荐学习交流#include#include"shape.h"usi
6、ngnamespacestd;classPoint:publicShape{intx,y;public:Point(inta=0,intb=0){SetPoint(a,b);}voidSetPoint(inta,intb){x=a;y=b;}intGetX(){returnx;}intGetY(){returny;}virtualdoubleVolume()const{return0.0;}virtualvoidPrintShapeName()const{cout<<"Point:";}virtualvoidPrint()const{cout<<
7、'['<仅供学习与交流,如有侵权请联系网站删除谢谢44精品好文档,推荐学习交流#include"point.h"usingnamespacestd;classCircle:publicPoint{doubleradius;public:Circle(intx=0,inty=0,doubler=0.0):Point(x,y){SetRadius(r);}voidSetRadius(
8、doubler){radius=(r>=0?r:0);}doubleGetRadius()const{returnradius;}vir
此文档下载收益归作者所有