欢迎来到天天文库
浏览记录
ID:6358268
大小:613.50 KB
页数:43页
时间:2018-01-11
《西安交大c++程序设计第十章作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西安交通大学实验报告课程__计算机程序设计__实验名称__多态性__第1页共44页系别__________实验日期2014年5月31日专业班级______组别_____________实验报告日期2014年5月31日姓名________学号__报告退发(订正、重做)同组人_________________________________教师审批签字一、实验目的理解掌握多态的使用方法,学会用虚函数。二、实验内容(一)第一题:定义一个类Base,该类含有虚函数display,然后定义它的两个派生类FirstB和SecondB,这两个派生类均含有公有成员函数displ
2、ay,在主程序中,定义指向基类Base的指针变量ptr,并分别定义Base、FirstB、Second的对象b1、f1、s1,让ptr分别指向b1、f1、s1的起始地址,然后指向执行这些对象的成员函数display。1.源程序代码:#includeusingnamespacestd;classBase{public:virtualvoiddisplay(){cout<<"sound!sound!sound!";}};classFirstB:publicBase{public:voidvirtualdisplay(){cout<<"miao!m
3、iao!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=&f1;ptr->display();cout<<"指向派生类SecondB:t";ptr=&s1;ptr->display();cou
4、t<usingnamespacestd;classShape{public:virtualdoubleArea()const{return0.0;}//纯虚函数,在派生类中重载virtualdoubleVolume()const=0;virtualvoidPrintSha
5、peName()const=0;virtualvoidPrint()const=0;};#endif//point.h点类#ifndefPOINT_H#definePOINT_H#include#include"shape.h"usingnamespacestd;classPoint:publicShape{intx,y;public:Point(inta=0,intb=0){SetPoint(a,b);}voidSetPoint(inta,intb){x=a;y=b;}intGetX(){returnx;}intGetY(){returny
6、;}virtualdoubleVolume()const{return0.0;}virtualvoidPrintShapeName()const{cout<<"Point:";}virtualvoidPrint()const{cout<<'['<#include"point.h"usingnamespacestd;classCircle:publicPoint{doubleradius;publ
7、ic:Circle(intx=0,inty=0,doubler=0.0):Point(x,y){SetRadius(r);}voidSetRadius(doubler){radius=(r>=0?r:0);}doubleGetRadius()const{returnradius;}virtualdoubleArea()const{return3.14159*radius*radius;}virtualdoubleVolume()const{return0.0;}virtualvoidPrintShapeName()const{cout<<"Circle:";}v
8、oidPrint()co
此文档下载收益归作者所有