C++实验十一虚函数

C++实验十一虚函数

ID:37909815

大小:43.50 KB

页数:4页

时间:2019-06-02

C++实验十一虚函数_第1页
C++实验十一虚函数_第2页
C++实验十一虚函数_第3页
C++实验十一虚函数_第4页
资源描述:

《C++实验十一虚函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验十一虚函数一、实验目的1)掌握虚函数的定义和使用2)掌握抽象类的定义和使用3)掌握纯虚函数的定义4)掌握虚析构函数、纯虚函数和抽象类的作用二、实验原理1.利用虚函数的作用:当编译器编译虚函数时,编译系统将用动态连接的方式进行编译。即在编译时不确定该虚函数的版本,而是利用一种机制在运动过程中根据其所指向的实例决定使用哪一个函数版本。2.利用虚析构函数的原则:当将基类指针或引用new运算符指向派生类对象时,为了在释放派生类对象时能调用派生类的析构函数,必须将基类的析构函数定义为虚函数。3.抽象类的作用:为

2、它的所有派生类提供一个公共接口,纯虚函数是定义抽象类的一种间接手段。三、实验设备实验室里调备的计算机、windowxp,visualc++6.0四、实验内容4.1分析下面各题程序,按各题的要求进行实验1)分析下面的程序,指出程序运行的结果:#includeclassCBase{public:virtualvoidf1()//将成员函数f1()声明为虚函数{cout<<"调用函数CBase::f1()!"<

3、{cout<<"调用函数CBase::f2()!"<

4、voidmain(){CBaseobj1,*p;//定义CBase的对象obj1和指针对象pCDerivedobj2;//定义CDerived的对象obj1p=&obj1;//将obj1的地址给pp->f1();//通过p调用基类版本的f1()函数p->f2();//通过p调用基类版本的f2()函数p->f3();//通过p调用基类版本的f3()函数p=&obj2;//将派生类对象obj2的地址赋给pp->f1();//动态连接,调用派生类版本p->f2();//动态连接,调用派生类版本p->f3();/

5、/调用基类版本}运行的结果:2)分析下面的程序,指出程序运行的结果:#includeclassCBase{public:CBase()//CBase类的构造函数{cout<<"调用构造函数CBase()!"<

6、rived类的构造函数{cout<<"调用构造函数CDerived()!"<#includeclassCBase{protected:char*ch;public:CBase

7、(char*x){ch=newchar[20];strcpy(ch,x);}virtualvoidfun()=0;virtualvoidfun1()//虚函数{cout<

8、];strcpy(ch,x);}voidfun1()//{cout<fun1();p->fun();p=newCDerived("China","Hello");p->f

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

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

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