主题:有关函数重载问题,要考试了
若有如下函数声明:void Fun(int x);,则下列_____能与该函数进行重载。
A. void Fun(int y); B. void Fun(int x,int y='1');
C. int Fun(int x); D. void Fun(int) const;
答案为什么是B? 帮我区分B和D?
说明:我认为B不能重载啊!!
但我是这样想的,如果仅给一个a=2值,就不知道用void fun(int x,int y='1');还是void fun(int x );啊?或许是x=2,y='1'.也可能是只有一个参数就是x=2,因为区分不了调用哪个函数,所以不可以重载啊,怎么可以重载?
对于D选项书上有原话“const关键字可以用于对重载函数的区分”所以我觉得D正确啊!
A. void Fun(int y); B. void Fun(int x,int y='1');
C. int Fun(int x); D. void Fun(int) const;
答案为什么是B? 帮我区分B和D?
说明:我认为B不能重载啊!!
但我是这样想的,如果仅给一个a=2值,就不知道用void fun(int x,int y='1');还是void fun(int x );啊?或许是x=2,y='1'.也可能是只有一个参数就是x=2,因为区分不了调用哪个函数,所以不可以重载啊,怎么可以重载?
对于D选项书上有原话“const关键字可以用于对重载函数的区分”所以我觉得D正确啊!