首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于重载的有关问题

2012-04-02 
关于重载的问题#includeiostream.hdouble larger(double a,double b)long& larger(long& a,long& b)in

关于重载的问题
#include"iostream.h"
double larger(double a,double b);
long& larger(long& a,long& b);
int main()
{
double a_double=1.5,b_double=2.5;
cout<<"The larger of double"<<a_double<<"and"<<b_double<<"is"<<larger(a_double,b_double)<<endl;
int a_int=35,b_int=25;
cout<<"The larger of int"<<a_int<<"and"<<b_int<<"is"<<larger(static_cast<long>(a_int),static_cast<long>(b_int))<<endl;
return 0;
}

double larger(double a,double b)
{
cout<<"double is called"<<endl;
return a>b?a:b;
}
long& larger(long& a,long& b)
{
cout<<"long is called"<<endl;
return a>b?a:b;
}
编译结果是都调用了第一个double函数,即使用了static_cast函数转化成long型也不行,这是为什么呢,大侠请教

[解决办法]

探讨
const long&amp; larger(const long&amp; a,const long&amp; b)

热点排行