日期:2014-05-19  浏览次数:20692 次

同一函数 返回值不同 能成功吗?
在同一函数名下     有不同的返回值类型   怎么编译通过了   测试也没看出什么问题
但没搞懂请大家提点下

代码:
flycat   是自定义的对象

public   string   maxmin(flycat   rb)
{
string   d=rb.Str;
//int   m=rb.NO;
if(rb.NO> rb.Max||rb.NO <rb.Min)
{
rb.Fig_set(d);

}
if(rb.Pass)
{
return   rb.Str   ;
}
else
{
return   null;
}
}

public   int   maxmin(ArrayList   rbg)
{
int   ct=-1;
rbg.TrimToSize();
if(rbg.Count> 0)
{
ct=0;
flycat   rb;
string   re;
for(int   j=0   ;   j <rbg.Count;j++)
{
rb=(flycat)rbg[j];
re=this.maxmin(rb);
if(re==null)
{
                                                ct++;
}

}
}
return   ct;
}

------解决方案--------------------
参数类型不同,构成了重载。
------解决方案--------------------
类重载
------解决方案--------------------
返回类型或者参数类型(数量)不一样的同名函数,都是能成功的~
------解决方案--------------------
override(重写)和overload(重载)不一样。
你所写的这个代码是overload,但不是override。
------解决方案--------------------
重载??但返回类型不同呀!如果返回类型一致 还是参数不同 就是方法的重写吗??


只要参数个数、类型、位置不一样,就构成了重载,与返回值无关……