小众知识

首页 > 正文

如何深入理解c++中的"重载"的概念?!

本人想知道,c++既然有默认值的用法,为什么还要引入重载的概念?!该如何理解呢?!
什么情况下用重载,什么情况下用默认值?!?!?!?请指教!谢谢!  

 skiffer 发表于:2003-10-05 21:45:52
得分:0 

重载
简单的说就是
函数名相同(为了共享函数名)
参数列表不同
用重载的原因:我们可以希望定义一组函数
他们能执行一般性动作,但是应用在不同的参数类型上 

 Januarius_ 发表于:2003-10-05 21:54:24
得分:0 

重载使得同样函数名但是参数不同的函数能够同时存在,方便于编程
例如: 
  int max(int a, int b);

  int max(double a, double b);

这样的函数,实现相同的功能,但是如果没有重载的话就需要两个不同的函数 

 robbie24 发表于:2003-10-05 21:55:40
得分:0 

问的好,如果你能给出一个'理想'的默认值.
但请考虑以下情况:
要你写个函数,选出2~4个数字中的最大数出来.是说2到4个数,可能是2个、也可能是3个、或者是4四个.
请给出你的方案.没有选择,换做是你也会这么做:
int max(int a, int b);
int max(int a, int b, int c);
int max(int a, int b, int c, int d);
重载函数有用场了,当然了,这是一个相当'蠢'的例子,但它至少说明了问题.(笑)
当然了,Lippman在书中有句话你因该值得关注一下,同时也作为奉劝所有人:
“不是所有的语言特性都是你下一个即将攀登的目标."
因该根据需要来,最合适的,就是最好的.没有一个软件特性或者设计是符合所有要求的,你说呢?(笑) 

上一篇:C++库函数
下一篇:float a;

分享到: