(完整版)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++试题及答案

一、选择题

1.以下关于C++类的说法,正确的是()

A.类的成员函数必须在类体内定义

B.类的私有成员只能被类的成员函数访问

C.类的友元函数可以访问类的所有私有成员

D.类的对象可以直接访问类的私有成员

答案:B

解析:类的成员函数可以在类体外定义,A错误;类的私有成员只能被类的成员函数访问,B正确;类的友元函数可以访问类的私有和保护成员,但不是所有类的私有成员都能被任意友元函数访问,需要在类中声明该友元函数,C错误;类的对象不能直接访问类的私有成员,D错误。

2.以下代码的输出结果是()

```cpp

includeiostream

usingnamespacestd;

intmain(){

intarr[3][3]={{1,2,3},{4,5,6},{7,8,9}};

coutarr[1][2];

return0;

}

```

A.4

B.5

C.6

D.7

答案:C

解析:二维数组`arr`中`arr[1][2]`表示第二行(数组下标从0开始)第三列的元素,即6。

3.关于C++中的引用,以下说法错误的是()

A.引用必须在定义时初始化

B.引用一旦初始化后,就不能再引用其他对象

C.引用可以作为函数的返回值

D.引用可以引用空值

答案:D

解析:引用必须在定义时初始化,A正确;引用一旦初始化后,就不能再引用其他对象,它就一直绑定到初始化时的对象上,B正确;引用可以作为函数的返回值,C正确;引用不能引用空值,它必须引用一个实际的对象,D错误。

4.以下哪种函数调用方式可以实现函数参数的双向传递()

A.值传递

B.指针传递

C.引用传递

D.B和C

答案:D

解析:值传递是将实参的值复制一份给形参,函数内部对形参的修改不会影响实参,A错误;指针传递是将实参的地址传递给形参,通过指针可以间接修改实参的值,实现双向传递;引用传递是实参的别名,对引用的修改就是对实参的修改,也能实现双向传递,所以B和C都可以实现双向传递。

5.以下关于C++构造函数的说法,错误的是()

A.构造函数可以有参数

B.构造函数可以重载

C.构造函数的返回类型是void

D.构造函数在对象创建时自动调用

答案:C

解析:构造函数可以有参数,用于初始化对象的成员变量,A正确;构造函数可以重载,根据不同的参数列表提供不同的初始化方式,B正确;构造函数没有返回类型,也不能写`void`,C错误;构造函数在对象创建时自动调用,用于完成对象的初始化工作,D正确。

6.以下代码中,`p`指向的内存空间是()

```cpp

includeiostream

usingnamespacestd;

intmain(){

intp=newint[5];

return0;

}

```

A.栈区

B.堆区

C.全局区

D.代码区

答案:B

解析:`new`操作符用于在堆区动态分配内存,所以`p`指向的内存空间是堆区,B正确;栈区主要用于存放局部变量、函数参数等,A错误;全局区用于存放全局变量和静态变量,C错误;代码区用于存放程序的代码,D错误。

7.以下关于C++析构函数的说法,正确的是()

A.析构函数可以有参数

B.析构函数可以重载

C.析构函数在对象销毁时自动调用

D.析构函数的返回类型是void

答案:C

解析:析构函数没有参数,A错误;析构函数不能重载,每个类只能有一个析构函数,B错误;析构函数在对象销毁时自动调用,用于释放对象占用的资源,C正确;析构函数没有返回类型,也不能写`void`,D错误。

8.以下代码的输出结果是()

```cpp

includeiostream

usingnamespacestd;

classBase{

public:

voidfunc(){

coutBase::func()endl;

}

};

classDerived:publicBase{

public:

voidfunc(){

coutDerived::func()endl;

}

};

intmain(){

Derivedd;

Basepb=d;

pb-func();

return0;

}

```

A.`Base::func()`

B.`Derived::func()`

C.编译错误

D.

文档评论(0)

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

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

1亿VIP精品文档

相关文档