实验6多态性与虚函数.docVIP

  • 82
  • 0
  • 约1.28千字
  • 约 3页
  • 2017-06-08 发布于重庆
  • 举报
实验6多态性与虚函数

实验6 多态性与虚函数 【实验目的】 1.理解多态性的概念。 2.了解编译时的多态和运行时的多态。 3.掌握虚函数的定义及实现,掌握虚析构函数的使用方法。 4.了解纯虚函数和抽象类的关系及用法。 【实验准备】 1.读下列程序,分析其中的错误原因; 程序如下: #include class A public: virtual void Set 0; private: int x; ; int main A f; 2.阅读下面程序,分析程序是否有错误。若有,分析错误原因并改正。 程序如下: #include class A public: A cout A constructor endl; ~A cout A destructor endl; ; class B:public A public: B p new int 5 ; ~B cout B destructor endl; delete p; private: int * p; ; void fun A * q delete q; int main A * s new B; fun s ; 【实验内容】 1.运行下列程序,观察输出结果。请修改程序,使程序输出结果为: A0 A1 A2 修改后思考,为什么这样修改可以达到目的。 #includeiostream.h class A0 public: void display cout A0 endl; ; class A1:public A0 public: void display cout A1 endl; ; class A2:public A1 public: void display cout A2 endl; ; int main A0 a0,*p; A1 a1; A2 a2; p a0; p- display ; p a1; p- display ; p a2; p- display ; 2.设计一个基类Base,其作用是计算一个图形的面积,它只有一个公有的函数成员虚 函数area。再从Base 类公有派生一个三角形类Triangle 和一个圆类Circle,在类Triangle 和类Circle 中分别定义自己的area 函数,用于计算各自的面积。在主函数中设计一个Base 类的对象指针,分别指向类Triangle 和类Circle 的对象,调用各自的area 函数显示相应 对象的面积。 分析:用虚函数实现多态。 3.将上题中的Base 类改为抽象类,应用抽象类,求矩形、圆形的周长和面积。 分析:将Base 类的其成员函数area 和perimeter 声明为纯虚函数,Base 就成为一个抽 象类。然后再从Base 派生矩形类和圆形类,分别实现Base 中纯虚函数的功能。 【实验步骤】 1.编辑源程序。 2.对源程序进行编译并调试程序。 3.连接并运行程序。 4.检查输出结果是否正确。

文档评论(0)

1亿VIP精品文档

相关文档