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

关于函数重载的有关问题。

2012-04-08 
关于函数重载的问题。。。int abs(int a)//返回a的绝对值double abs(double a)//返回a的平方根,与abs的意义

关于函数重载的问题。。。
int abs(int a); //返回a的绝对值

double abs(double a); //返回a的平方根,与abs的意义背离

void func(int a,double d){  

int b = abs(a); //理解!

double c = 1.0+abs(d); //将abs的功能误解为求绝对值
}
这里的abs(d)为什么会误解成求绝对值的函数呢。。。

[解决办法]
怎么可能呢,abs(d);调用的就是求平方根的那个函数,你是不是看错了,当你用double d实参去传递参数时,调用的就是double abs(double s)这个函数,不可能调用求绝对值的那个函数的,因为实参与形参完全匹配,不会先进行转换再调用,
是不是你输入的数所求的绝对值和平方根的值相等,误以为调用了求绝对值的那个函数

热点排行