实验六 多态性和虚函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六多态性和虚函数

一、实验目的

1、了解多态性的概念。

2、了解虚函数的作用及其使用方法。

3、了解静态关联和动态关联的概念和用法。

4、了解纯虚函数和抽象类的概念和用法。

二、实验要求

1、分析程序运行结果,掌握虚函数的使用。

程序一:

#include

class ONE

{ public:

virtual void f(){cout<<"l"<

};

class TWO:public ONE

{ public:

TWO(){cout<<"2"<

};

class THREE:public TWO

{ public:

virtual void f(){TWO::f(); cout<<"3";}

};

void main()

{ ONE aa, *p;

TWO bb;

THREE cc;

p = &cc;

p->f();

}

程序二:

#include

class Base

{ public:

virtual void fn() { cout <<"In Base Class\n";}

};

class SubClass :public Base

{ public:

virtual void fn(){ cout <<"In Sub Class\n"; }

};

void main()

{ Base bc,*p;

SubClass sc;

p=&bc; p->fn();

p=≻ p->fn();

}

2、实现一个类A,在A中有两个私有的整型变量a和b,定义构造函数对a和b进行初始化,并实现成员函数geta()取得a的值和getb()取b的值。实现类B从A继承,覆盖geta(),使其返回a的2倍。主函数中声明类B对象,调用类B中的geta()并将结果输出。

3、声明抽象基类Shape,由它派生出3个派生类:Cirle(圆形)、Rectangle(矩形)、Triangle (三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象是给定。

相关文档
最新文档