华为C++笔试题最全

上传人:新** 文档编号:562109821 上传时间:2023-10-28 格式:DOCX 页数:34 大小:77.27KB
返回 下载 相关 举报
华为C++笔试题最全_第1页
第1页 / 共34页
华为C++笔试题最全_第2页
第2页 / 共34页
华为C++笔试题最全_第3页
第3页 / 共34页
华为C++笔试题最全_第4页
第4页 / 共34页
华为C++笔试题最全_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《华为C++笔试题最全》由会员分享,可在线阅读,更多相关《华为C++笔试题最全(34页珍藏版)》请在金锄头文库上搜索。

1、脚本执行失败问题1. 虚函数是可以内联的,这样就可以减少函数调用的开销,提高效率(错误)2. 一个类里可以同时存在参数和函数名都相同的虚函数与静态函数(错误)3. 父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类指针(指向该子类对 象),会调用父类的析构函数(正确)/任何情况下删除子类都会调用到父类的析构函数4. 对于下面的类CA, sizeof(CA) =:A. 4 B. 8 C. 12 D. 16 class CApublic:CA();virtual CA ( ) ; /因为有虚函数,所以会有4个字节的虚表指针private:int m_iTime; /成员变量4个字节

2、public:int GetTime();int SetTime(int iTime);5. 下面这段程序,打印结果是_ _:A. 1 B. 2 C. 3 D.以上都不对int g_iCount = 0;class CParentpublic:CParent() CParent() g_iCount += 1;class CSon : public CParentpublic:CSon() CSon() g_iCount += 2;main()CParent* p = new CSon();deletep;std:cout g_iCount std:endl;6. 请问下面这段程序的输出结果是

3、_:A. 2,1, B. 2,2, C. 1,1, D. 1,2, class CParentpublic:CParent() virtual CParent() public:virtual void Print() std:cout 1,; ;class CSon : public CParentpublic:CSon() ;virtual CSon() ;public:void Print() std:cout 2,; ;void Test1(CParent& oParent) oParent.Print();void Test2(CParent oParent)oParent.Prin

4、t();main()CSon * p = new CSon();Test1(*p); /这里只是一个引用Test2(*p); /这里会在栈空间重新构造Cparent类对象 delete p;7. 请问下面这段程序的输出结果是_:A. 2,1, B. 2,2, C. 1,1, D. 1,2, class CParentpublic:CParent() virtual CParent() public:void Print() std:cout 1, ; ;class CSon : public CParentpublic:CSon() virtual CSon() public:void Pri

5、nt() std:cout Print(); pSon-Print();8. 请问下面这段程序的输出结果是_:A. 2,1, B. 2,2, C. 1,2, D. 1,1, class CParentpublic:CParent() Print();virtual CParent() public:virtual void Print() std:cout 1,; ;class CSon : public CParentpublic:CSon() Print();virtual CSon() public:void Print() std:cout 2,; ;main()CParent * p

6、Parent = new CSon();delete pParent;9. 请问下面这段程序的输出结果是_D_:A. 2,2, B. 2, C.输出结果不确定D.以上都不对 class CParentpublic:CParent() Print();virtual CParent() public:virtual void Print() = 0; ;class CSon : public CParentpublic:CSon() Print();virtual CSon() public:void Print() std:cout 2,; ; ;main()CParent * pParent

7、 = new CSon();delete pParent; 10请仔细阅读以下程序: class Base public:virtual bool operator = (int iValue)std:cout I am Base class ! std:endl; return true;virtual Base() ;class Derive: public Base public:virtual bool operator = (int iValue)std:cout I am Derive class ! std:endl; return true;virtual Derive();i

8、nt main()Derive derive;Base* pBase = &derive;Derive* pDerive = &derive;*pBase = 0; *pDerive = 0;return 0;程序的输出结果是_B_:A、I am Base class !I am base class !B、I am Derive class !I am Derive class !C、I am base class !I am Derive class !D、I am Derive class !I am Base class ! 11请仔细阅读以下程序: class Base public

9、:I am Base class !)= I am Derive class !)virtual void display(std:string strShow std:cout strShow std:endl; virtual Base();class Derive: public Basepublic:virtual void display(std:string strShow std:cout strShow display();pDerive-display();delete pBase;delete pDerive; return 0;程序的输出结果是_c_:A、I am Bas

10、e class !I am base class !B、I am Derive class !I am Derive class !c、I am base class !I am Derive class !D、I am Derive class !I am Base class ! 12请仔细阅读以下程序: class Basepublic:virtual void display() const std:cout I am Base class ! std:endl; virtual Base();class Derive: public Basepublic:virtual void d

11、isplay() std:cout I am Derive class !display();pDerive-display();delete pBase;delete pDerive; return 0;程序的输出结果是_c_:A、I am Base class !I am base class !B、I am Derive class !I am Derive class !c、I am base class !I am Derive class !D、I am Derive class !I am Base class !13. 在C+中,多态性存在于_B _:A、同一个类的多个同名函数

12、之间B、子类继承层次中C、父类的多个同名函数之间D、以上都不是14. 下面黑体加粗的语句存在问题,请问下面的修改哪个是正确的? B class Apublic:void Func();class Bprivate:bool Func() const; class C: public A, public B ; / class definition is unimportantC test;test.Func(); /look hereA. test.B:Func(); B.test.A:Func();C. B:test.Func(); D.A:test.Func();15. 判断:子类可以访问父类保护成员,子类的友元类也可以通过子类对象去访问父类的保 护成员。(正确)16. 下面对pro tec ted继承的描述正确的是:C /注意这里是保护继承A. 父类的友元类可以访问子类保护成员氏子类的友元类可以访问父类的私有成员C. 子类可以访问父类的保护成员D. 父类可以访问子类的保护成员17. 对于下面的代码,描述正确的是:Aclass Apublic:virtual void test();class B: public Apublic:void test();class C: public Bpublic:void test();A. B类

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号