文档介绍:石家庄铁道大学
面向对象程序设计上机实验报告
学院信息科学与技术学院
年级 2011 级
班级
姓名
学号
2012年5月7日
5、多态编程
一实验名称:多态编程
:windows XP系统,VC++
:1、了解多态性实现的方法。
2、熟练掌握运算符重载的方法。
3、掌握虚函数和纯虚函数的概念。
4、掌握抽象类的概念及使用方法。
:
1、定义一个抽象类几何图形类Geometric_shape,包含三个成员函数:计算周长perimeter、计算面积area、绘制draw,圆类Circle、矩形类Rectangle和三角形类Triangle都继承于Geometric_shape,在主函数中,定义一个几何图形类Geometric_shape的指针分别定义指向圆类Circle、矩形类Rectangle和三角形类Triangle的对象,并调用其成员函数完成计算周长、计算面积和绘制图形的功能。
2、输入下面的程序,观察程序的执行结果,体会纯虚函数和抽象类的概念。
#include <>
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 <<hex<<value<<endl; }
};
class octtype: public number
{ public:
octtype (int x ):number(x) { }
void show() { cout <<oct<<value<<endl; }
};
3、比较下面两个程序的执行结果,掌握多态性。
//程序1
#include <>
class A
{ int x,y;
public :
A(int i,int j) { x=i; y=j; }
void disp()
{ cout <<"x="<<x<<" y="<<y<<endl; }
};
class B:public A
{ int z;
public:
B(int i,int j,int k): A(i,j)
{ z=k; }
void disp()
{ cout <<"z="<<z<<endl; }
};
void main()
{ A a(50,100),*pa; B b(1,2,3);
();
();
pa=&a; pa->disp();
pa=&b; pa->disp();
}
//程序2
#include <>
class A
{ int x,y;
public :
A(int i,int j)
{ x=i; y=j; }
virtual void disp()
{ cout <<"