2024年4月28日发(作者:)

面向对象C++选择题

1.若定义:string str; 当语句cin>>str; 执行时,从键盘输入:

Microsoft Visual Studio 6.0!所

得的结果是str=()。

A. Microsoft Visual Studio 6.0!

B. Microsoft

C. Microsoft Visual

D. Microsoft Visual Studio 6.0

答案:B

解析:cin在接收字符串时,会将遇到的空格符、回车符、Tab符

时,都判断为字符串结束。若要输入带空格的字符串,可使用getline

()函数。

2.使用地址作为实参传给形参,下列说法正确的是()

A. 实参是形参的备份

B. 实参与形参无联系

C. 形参是实参的备份

D. 实参与形参指向同一对象

答案:D

解析:地址作为实参,表示实参与形参指向同一个对象,所以选

择D项。

3.下列程序的输出结果是()

#include

void main()

{int n[][3]={10,20,30,40,50,60};

int (*p)[3];

p=n;

cout<

<

A. 10,30,50

B. 10,20,30

C. 20,40,60

D. 10,30,60

答案:B

解析:如果数组元素都是相同类型的指针,则称这个数组为指针

数组。指针数组一般用于处理二

维数组。声明的格式为:<数据类型><(*变量名)><[元素个

数]>。

p表示指向数组n的行指针。如果将指针的初始化(*p)[3]=b;地

址的等价形式:

p+i p[i]*(p+i)都表示b数组第i+1行的第1个元素的首地址。

*(p+i)+jp[i]+j &p[i][j]都表示b数组第i+1行、第j+1

列元素的地址。

值的等价形式:

*(*(p+i)+j) *(p[i]+j) p[i][j]都表示b数组第i+1、第j+1

列元素的值。

所以题目分别访问p[0][0],p[0][1],p[0][2]。

4.在C++中,函数原型不能标识()

A. 函数的返回类型

B. 函数参数的个数

C. 函数参数类型

D. 函数的功能

答案:D

解析:函数的声明,说明函数的参数、返回类型以及函数名,函

数体即实现部分决定功能。所以

函数的原型不能决定函数的功能。

5.下列有关重载函数的说法中正确的是()

A. 重载函数必须具有不同的返回值类型

B. 重载函数参数个数必须相同

C. 重载函数必须有不同的形参列表