同一函数 返回值不同 能成功吗?
在同一函数名下 有不同的返回值类型 怎么编译通过了 测试也没看出什么问题
但没搞懂请大家提点下
代码:
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。
------解决方案--------------------重载??但返回类型不同呀!如果返回类型一致 还是参数不同 就是方法的重写吗??
只要参数个数、类型、位置不一样,就构成了重载,与返回值无关……