注册 登录
编程论坛 C++教室

关于返回值不同的同名函数

wylog 发布于 2008-08-25 23:12, 1047 次点击
在一个文件中调用average(3,6)返回两个int参数的平均值(int),在同一程序另一个文件中调用时,返回两个int参数的平均值(double)应如何实现?

请教是不是用模板实现?如何写这类模块函数?我只会写参数类型不同的哦
3 回复
#2
zzt_4282008-08-26 12:25
回复
可以使用函数模版,,也可以重载 average ,再另一个文件中使用时, 写extern
#3
zzt_4282008-08-26 12:29
函数模版
template <class T>
T Average(T &a, T &b)
{
   return (a+b)/2;
  
}
#4
p1s2008-08-26 12:34
楼上的说法有问题吧?现在是返回类型不同,两个参数可都是int的,那么如何用重载或模板来区分不同的函数代码段?貌似C++里面并不具有这个功能,看来要想想别的方法。比如设置一个标志参数,就像重载i++和++i一样。或者就用高精度的返回值,然后转回低精度的。
1