在一个文件中调用average(3,6)函数时,它返回两个int参数的平均值(int),在同一个程序的另一个文件中

调用时,它返回两个int参数的平均值(double)。应如何实现。
能在linux下,分别建立3个文件,分别编译g++ -o main.cpp file2.cpp

方法一:设置函数链接性为内部:
file1.cpp中

static int average(int a, int b){return (a+b)/2;}int mian(){std::cout<<average(3,6);return 0;}
file2.cpp中
static double average(int a, int b){return (double)(a+b)/2;}
int mian({std::cout<<average(3,6);return 0;}
方法二:使用名称空间:
file1.cpp中
namespace A{
int average(int a, int b){
return (a+b)/2;
}}
file2.cpp中
namespace B{
double average(int a, int b){
return (double)(a+b)/2;
}}
file3.cpp中
using namespace A;
int mian({std::cout<<average(3,6);using namespace B;std::cout<<average(3,6);return 0;}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-22
方法一:设置函数链接性为内部
file1.cpp中
static int average(int a, int b){
return (a+b)/2;

}
file2.cpp中
static double average(int a, int b){
return (double)(a+b)/2;

}

方法二:使用名称空间
namespace A{
int average(int a, int b){
return (a+b)/2;
}

namespace B{
double average(int a, int b){
return (double)(a+b)/2;
}
其实只要了解了链接性和作用域就好了。
第2个回答  2013-04-04
double average(int a,int b){
double c;
c=(a+b)/2.0
return c;
}追问

看懂了再写ok!

追答

#include
using namespace std;
double average(int, int);
int main(){
double x;
x=average(3,8);
cout<<x<<endl;
return 0;
}
double average(int a,int b){
double c;
c=(a+b)/2.0;
return c;
}
这样呢

是我理解错了吗