欢迎来到天天文库
浏览记录
ID:50384011
大小:30.00 KB
页数:6页
时间:2020-03-05
《C语言程序设计实验报告模板.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、石家庄铁道大学面向对象程序设计上机实验报告学院信息科学与技术学院年级2011级班级姓名学号2012年5月7日5、多态编程一实验名称:多态编程二.实验环境:windowsXP系统,VC++6.0软件三.实验目的:1、了解多态性实现的方法。2、熟练掌握运算符重载的方法。3、掌握虚函数和纯虚函数的概念。4、掌握抽象类的概念及使用方法。四.实验内容:1、定义一个抽象类几何图形类Geometric_shape,包含三个成员函数:计算周长perimeter、计算面积area、绘制draw,圆类Circle、矩形类Rectang
2、le和三角形类Triangle都继承于Geometric_shape,在主函数中,定义一个几何图形类Geometric_shape的指针分别定义指向圆类Circle、矩形类Rectangle和三角形类Triangle的对象,并调用其成员函数完成计算周长、计算面积和绘制图形的功能。2、输入下面的程序,观察程序的执行结果,体会纯虚函数和抽象类的概念。#includeclassnumber{protected:intvalue;public:number(inti){value=i;}virtua
3、lvoidshow()=0;};classhextype:publicnumber{public:hextype(intx):number(x){}voidshow(){cout<classA{
4、intx,y;public:A(inti,intj){x=i;y=j;}voiddisp(){cout<<"x="<disp();pa=&b;pa->disp();}/
5、/程序2#includeclassA{intx,y;public:A(inti,intj){x=i;y=j;}virtualvoiddisp(){cout<<"x="<6、,2,3);a.disp();b.disp();pa=&a;pa->disp();pa=&b;pa->disp();}五.实验步骤:1.#include#include#definedoublePI3.1415926usingnamespacestd;classGeometric_shape{public:virtualdoubleperimeter()=0;virtualdoublearea()=0;virtualvoiddraw()=0;};classCircle:publi7、cGeometric_shape{public:doubleperimeter();doublearea();voiddraw();private:doubler;doublezc;doublemj;};classRectangle:publicGeometric_shape{public:doubleperimeter();doublearea();voiddraw();private:doubleh,w;doublezc;doublemj;};classTriangle:publicGeometric_shap8、e{public:doubleperimeter();doublearea();voiddraw();private:doublea,b,c;doublezc;doublemj;};Circle::Circle(doubler1){r=r1;}doublecircle::perimeter(){zc=2*PI*r;}doublecircle::area(){
6、,2,3);a.disp();b.disp();pa=&a;pa->disp();pa=&b;pa->disp();}五.实验步骤:1.#include#include#definedoublePI3.1415926usingnamespacestd;classGeometric_shape{public:virtualdoubleperimeter()=0;virtualdoublearea()=0;virtualvoiddraw()=0;};classCircle:publi
7、cGeometric_shape{public:doubleperimeter();doublearea();voiddraw();private:doubler;doublezc;doublemj;};classRectangle:publicGeometric_shape{public:doubleperimeter();doublearea();voiddraw();private:doubleh,w;doublezc;doublemj;};classTriangle:publicGeometric_shap
8、e{public:doubleperimeter();doublearea();voiddraw();private:doublea,b,c;doublezc;doublemj;};Circle::Circle(doubler1){r=r1;}doublecircle::perimeter(){zc=2*PI*r;}doublecircle::area(){
此文档下载收益归作者所有