C++程序设计试题和答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

C++程序设计试题和答案

一、单项选择题(每题2分,共20分)

1.以下关于C++类成员访问权限的描述中,正确的是()

A.private成员只能被类的成员函数访问,友元类不能访问

B.protected成员可以被类的派生类成员函数直接访问

C.public成员在类外可以通过对象名直接访问,但不能通过指针访问

D.类的默认访问权限是protected

2.若有定义`intp[5];`,则以下描述正确的是()

A.p是一个指向5个int型元素的数组的指针

B.p是一个包含5个int型指针的数组

C.p是一个指向int型的指针,该指针指向长度为5的数组

D.该定义存在语法错误

3.关于虚函数的描述,错误的是()

A.基类中声明为virtual的函数,派生类中同名函数自动成为虚函数

B.虚函数不能是静态成员函数

C.构造函数不能声明为虚函数,但析构函数可以

D.虚函数的调用一定发生动态绑定

4.已知`classA{public:A(intx){coutA构造;}};`,则以下定义对象的方式中,会调用A构造函数的是()

A.`Aa=10;`

B.`Aa=newA[2];`

C.`Aa();`

D.`constAa;`

5.关于C++11移动语义的描述,正确的是()

A.移动构造函数的参数是const左值引用

B.移动操作会将源对象的资源转移到目标对象,源对象后续不可再使用

C.std::move函数的作用是将左值转换为右值引用

D.若类中未定义移动构造函数,编译器不会自动提供

6.以下代码执行后,输出结果是()

```cpp

intmain(){

inta[]={1,2,3,4};

intp=a;

(p++)+=10;

coutp,a[0]endl;

}

```

A.2,11

B.2,1

C.3,11

D.3,1

7.若要实现“当对象被销毁时自动释放动态分配的内存”,应主要利用C++的()机制

A.异常处理

B.运算符重载

C.析构函数

D.友元函数

8.以下模板声明中,语法正确的是()

A.`templateclassT1,T2classMyClass;`

B.`templatetypenameT1,intNclassArray;`

C.`templateTvoidfunc(Ta){...}`

D.`templateclassT1=T2,classT2classPair;`

9.关于异常处理的描述,错误的是()

A.try块中抛出的异常必须被对应的catch块捕获

B.catch(...)可以捕获所有类型的异常

C.构造函数中可以抛出异常,但析构函数不建议抛出

D.异常抛出后,程序会跳过当前函数剩余代码,跳转到最近的匹配catch块

10.已知`classBase{public:virtualvoidf(){coutBase;}};`,`classDerived:publicBase{public:voidf(){coutDerived;}};`,则以下代码输出为()

```cpp

Baseb;Derivedd;

Basepb1=b;Basepb2=d;

pb1-f();pb2-f();

```

A.BaseBase

B.BaseDerived

C.DerivedBase

D.DerivedDerived

二、填空题(每空2分,共20分)

1.若要限制类的对象只能在堆上分配(不能在栈上分配),应将类的__________函数声明为private。

2.表达式`sizeof(hello\n)`的结果是__________(假设系统为32位)。

3.已知`intx=5,y=3;`,则表达式`(x--y)?++y:x`的值为__________。

4.类的成员函数中,__________函数不能修改类的成员变量(除非成员被mutable修饰)。

5.在C++中,使用__________关键字声明内联函数,编译器可能将其直接替换为函数体以提高效率。

6.若有`structNode{intdata;Nodenext;};`,则

文档评论(0)

yclhgy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档