虚函数与多态性实验

虚函数与多态性实验

ID:30276782

大小:165.50 KB

页数:10页

时间:2018-12-28

虚函数与多态性实验_第1页
虚函数与多态性实验_第2页
虚函数与多态性实验_第3页
虚函数与多态性实验_第4页
虚函数与多态性实验_第5页
资源描述:

《虚函数与多态性实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案一.实验目的及要求1.进一步熟悉类的设计、运用继承与派生机制设计派生类,合理设置数据成员和成员函数。2.掌握通过继承、虚函数、基类的指针或引用实现动态多态性的方法。3.理解并掌握具有纯虚函数的抽象类的作用,在各派生类中重新定义各纯虚函数的方法,以及此时实现的动态多态性。二.实验内容在自己的文件夹下建立一个名为exp5的工程,在该工程中做如下操作:定义一个抽象类容器类,其中定义了若干纯虚函数,实现求表面积、体积、输出等功能。由此抽象类派生出正方体、球体和圆柱体等多个派生类,根据需要定义自己的成员变量,在各个派生类中

2、重新定义各纯虚函数,实现各自类中相应功能,各个类成员的初始化均由本类构造函数实现。(1)在主函数中,定义容器类的指针和各个派生类的对象,使指针指向不同对象处调用相同的函数能执行不同的函数代码,从而实现动态多态性。(2)定义一个顶层函数voidTopPrint(Container&r);使得主函数中调用该函数时,根据实在参数所有的类自动调用对应类的输出函数。(3)主函数中定义一个Container类对象,观察编译时的错误信息,从而得出什么结论三.实验程序及运行结果#includeusingnamespace

3、std;classBase{public:virtualvoidf(){cout<<"调用Base::f()"<f();//调用函数f()system("PAUSE");return0;}精彩文档实用标准文案2.#includeu

4、singnamespacestd;//classBase{public:virtualvoidShow()const{cout<<"调用Base::Show()"<

5、bj2;//定义对象Refers(obj1);//调用函数Refers()Refers(obj2);system("PAUSE");return0;}精彩文档实用标准文案3.#includeusingnamespacestd;/classBase{private:intm;public:Base(inta):m(a){}virtualvoidShow()const{cout<

6、ed(inta,intb):Base(a),n(a){}//构造函数voidShow()const{cout<Show();p=&obj2;p->Show();精彩文档实用标准文案p->Base::Show();system("PAUSE");return0;}4.#includeusingnames

7、pacestd;classA{public:virtualvoidShow()const{cout<<"基类A"<Show();system("PAUSE");return0;}5.精彩文档实用标准文案#includeusingnamespacestd;constdoublePI=3.1415926;clas

8、sShape{public:virtualvoidShow()const=0;staticdoublesum;};classCircle:publicShape{private:doubleradius;public:Circle(doubler):radius(r){sum+=PI*ra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。