龙空技术网

C++笔试易错题(二)

海绵鹏娱乐 105

前言:

目前同学们对“重载返回值可以不同吗”都比较看重,大家都需要剖析一些“重载返回值可以不同吗”的相关资讯。那么小编在网络上汇集了一些有关“重载返回值可以不同吗””的相关知识,希望咱们能喜欢,姐妹们一起来了解一下吧!

指针

32位环境下,int *p=new int[10];请问sizeof(p)的值为。

正确答案: A 你的答案: B (错误)

A. 4
B. 10
C. 40
D. 8

解析

指针存放的是地址,由于32位机器的地址只要4个字节就可以表示了,所以指针的大小都是4。

数据溢出

下列代码运行的结果( )

short i=65537;

int j=i+1;

printf("i=%d,j=%d\n",i,j);

正确答案: B 你的答案: C (错误)

A. i=65537,j=65538
B. i=1,j=2
C. i=-1,j=0
D. i=1,j=65538

解析

1.存储short类型的数据需要2个字节,也就是2*8bit=16位,其取值范围是(-32768~32767)

2.65537超出了short的取值范围,其二进制表示为:1 00000000 00000001,short i=65537时,发生了溢出,只取后16位,也就是1

3.i=1;j=2;

重载

对重载函数形象的描述中,正确的是()

正确答案: A B C D 你的答案: D (错误)

A. 参数的类型可能不同
B. 参数的顺序可能不同
C. 函数的返回值类型可能不同
D. 参数的个数可能不同
解析

重载的概念是:

方法名称相同,参数个数、次序、类型不同

因此重载对返回值没有要求,可以相同,也可以不同

但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载

标签: #重载返回值可以不同吗