华为C++笔试题

华为C++笔试题

ID:39118289

大小:391.50 KB

页数:36页

时间:2019-06-25

华为C++笔试题_第1页
华为C++笔试题_第2页
华为C++笔试题_第3页
华为C++笔试题_第4页
华为C++笔试题_第5页
资源描述:

《华为C++笔试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、文档名称文档密级:脚本执行失败问题1.虚函数是可以New一个对象的时候要根据虚函数的函数体来填虚表;而内联函数没有函数体,只是在预编译阶段展开内联的,这样就可以减少函数调用的开销,提高效率(错误)2.一个类里可以同时存在同一个类里无论什么函数都不能函数名和参数完全一样参数和函数名都相同的虚函数与静态函数(错误)3.父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类指针(指向该子类对象)特殊情况,参见题5,会调用父类的析构函数(正确)//任何情况下删除子类都会调用到父类的析构函数4.对于下面的类CA

2、,sizeof(CA)=_B_:A.4B.8C.12D.16classCA{public:CA();virtual~CA();//因为有虚函数,所以会有4个字节的虚表指针private:intm_iTime;//成员变量4个字节public:intGetTime();intSetTime(intiTime);};5.下面这段程序,打印结果是_A_:A.1B.2C.3D.以上都不对intg_iCount=0;classCParent{public:CParent(){}~CParent(){g_iCount+=1;

3、}};classCSon:publicCParent{public:CSon(){}~CSon(){g_iCount+=2;}};main(){CParent*p=newCSon();deletep由于p被声明成父类指针,并且父类和子类的析构函数都非虚,因此delete操作只能根据p指针声明的类型来调用父类的析构函数;std::cout<

4、rent(){}virtual~CParent(){}public:virtualvoidPrint(){std::cout<<"1,";};2021-7-16华为机密,未经许可不得扩散第36页,共36页文档名称文档密级:};classCSon:publicCParent{public:CSon(){};virtual~CSon(){};public:voidPrint(){std::cout<<"2,";};};voidTest1(CParent&oParent这里是引用了一个外部对象,该对象的虚表不会发生变化

5、){oParent.Print();}voidTest2(CParentoParent这里会在栈空间内重新构造一个CParent类的对象,如果传入实参的类型与CParent不同则虚表会发生变化){oParent.Print();}main(){CSon*p=newCSon();Test1(*p);//这里只是一个引用Test2(*p);//这里会在栈空间重新构造Cparent类对象deletep;}7.请问下面这段程序的输出结果是_D_:A.2,1,B.2,2,C.1,1,D.1,2,classCParent{p

6、ublic:CParent(){}virtual~CParent(){}public:voidPrint(){std::cout<<"1,";};};classCSon:publicCParent{public:CSon(){}virtual~CSon(){}public:voidPrint(){std::cout<<"2,";};};main(){CSonoSon;CParent*pParent=&oSon;CSon*pSon=&oSon;pParent->Print();pSon->Print();由于父类和

7、子类的Print函数都非虚,所以根据指针类型决定调用关系}8.请问下面这段程序的输出结果是_C_:2021-7-16华为机密,未经许可不得扩散第36页,共36页文档名称文档密级:A.2,1,B.2,2,C.1,2,D.1,1,classCParent{public:CParent(){Print();}virtual~CParent(){}public:virtualvoidPrint(){std::cout<<"1,";}};classCSon:publicCParent{public:CSon(){Print

8、();}virtual~CSon(){}public:voidPrint(){std::cout<<"2,";}};main(){CParent*pParent=newCSon()类的构造过程遵循压栈原则,构造过程中虚表尚未建立成功,是静态调用虚函数;deletepParent;}9.请问下面这段程序的输出结果是_D_:A.2,2,B.2,C.输出结果不确定D.以上都不对

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

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

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