C语言程序设计实验报告模板.doc
文本预览下载声明
石家庄铁道大学
面向对象程序设计上机实验报告
学 院 信息科学与技术学院
年 级 2011 级
班 级
姓 名
学 号
2012年5月7日
5、多态编程
一 实验名称:多态编程
二.实验环境:windows XP系统,VC++6.0软件
三.实验目的:1、了解多态性实现的方法。。
4、掌握抽象类的概念及使用方法。
四.实验内容:
1、定义一个抽象类几何图形类Geometric_shape,包含三个成员函数:计算周长perimeter、计算面积area、绘制draw,圆类Circle、矩形类Rectangle和三角形类Triangle都继承于Geometric_shape,在主函数中,定义一个几何图形类Geometric_shape的指针分别定义指向圆类Circle、矩形类Rectangle和三角形类Triangle的对象,并调用其成员函数完成计算周长、计算面积和绘制图形的功能。
2、输入下面的程序,观察程序的执行结果,体会纯虚函数和抽象类的概念。
#include iostream.h
class number
{ protected:
int value;
public:
number(int i ) { value=i; }
virtual void show()=0;
};
class hextype: public number
{ public:
hextype (int x ):number(x) { }
void show() { cout hexvalueendl; }
};
class octtype: public number
{ public:
octtype (int x ):number(x) { }
void show() { cout octvalueendl; }
};
3、比较下面两个程序的执行结果,掌握多态性。
//程序1
#include iostream.h
class A
{ int x,y;
public :
A(int i,int j) { x=i; y=j; }
void disp()
{ cout x=x y=yendl; }
};
class B:public A
{ int z;
public:
B(int i,int j,int k): A(i,j)
{ z=k; }
void disp()
{ cout z=zendl; }
};
void main()
{ A a(50,100),*pa; B b(1,2,3);
a.disp();
b.disp();
pa=a; pa-disp();
pa=b; pa-disp();
}
//程序2
#include iostream.h
class A
{ int x,y;
public :
A(int i,int j)
{ x=i; y=j; }
virtual void disp()
{ cout x=x y=yendl; }
};
class B:public A
{ int z;
public:
B(int i,int j,int k): A(i,j) { z=k; }
virtual void disp() //此处的virtual 可不写
{ cout z=zendl; }
};
void main()
{ A a(50,100),*pa;
B b(1,2,3);
a.disp();
b.disp();
pa=a; pa-disp();
pa=b; pa-disp();
}
五.实验步骤:
1.#includeiostream
#includecmath.
#define double PI 3.1415926
using namespace std;
class Geometric_shape{
public:
virtual double perimeter()=0;
virtual double area()=0;
virtual void draw()=0;
};
class Circle:public Geometric_shape{
public:
double perimeter();
double area();
void draw(
显示全部