c++函数声明问题

函数intsum(inta=l,intb=1,intc=3)可与下列哪个函数同时声明()A.doublesum(int);B.charsum(int,int);C.int... 函数int sum(int a=l,intb=1,int c=3)可与下列哪个函数同时声明( )
A.double sum(int); B.charsum(int,int);
C.int sum(double); D.intsum(int,int,int);
这题应该选什么,为啥?对于函数声明不是太明白
展开
 我来答
米暗牧
2013-07-30 · TA获得超过853个赞
知道小有建树答主
回答量:595
采纳率:50%
帮助的人:283万
展开全部
选C
sum(int a=1,int b=1,int c=1)包含了
sum(int,int,int),sum(int,int),sum(int),sum()
这四种情况,而根据一个函数的返回值是无法得知要调用哪个函数的,只能根据参数来决定,所以这道题跟返回值没关系 ,ABD都错
百度网友7b95d47
2013-07-30 · TA获得超过1473个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:428万
展开全部

C

讨论2个情况:

  1. 参数个数和类型相同,而返回类型不同(ABD的情况)

  2. 参数个数不同,返回类型相同(C的情况)


第一种情况在调用的时候并不能确定纠结是哪一个,引起歧义,所以不允许这样的函数声明。第二种情况调用的时候就能区别开。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平凡神世
2018-01-19
知道答主
回答量:3
采纳率:0%
帮助的人:2449
引用米暗牧的回答:
选C
sum(int a=1,int b=1,int c=1)包含了
sum(int,int,int),sum(int,int),sum(int),sum()
这四种情况,而根据一个函数的返回值是无法得知要调用哪个函数的,只能根据参数来决定,所以这道题跟返回值没关系 ,ABD都错
展开全部
选D 对于AB来说返回类型不同,对C来说参数不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式