Welcome

首页 / 软件开发 / C++ / C++中方法定义和调用需要注意的一个地方

C++中方法定义和调用需要注意的一个地方2010-06-02 cnblogs 陈希章最近开始认真地再学一下C++的编程,陆续会有一些笔记整理出来。

今天要讲的是,C++程序中,方法之间调用的一个需要注意的地方

例如,我们有一个方法

int maxvalue(int a,int b,int c)
{
if(a<b) a=b;
if(a<c) a=c;
return a;
}

我们需要在另外一个方法里面调用它

int main()
{

int a=5,b=8,c=10;
cout<< maxvalue(a,b,c);
return 0;
}

那么请注意了,maxvalue方法是必须定义在main方法之前的,而不能在后面。

下面的代码能编译通过

#include <iostream>
using namespace std;
int maxvalue(int a,int b,int c)
{
if(a<b) a=b;
if(a<c) a=c;
return a;
}

int main()
{

int a=5,b=8,c=10;
cout<< maxvalue(a,b,c);
return 0;
}

而下面的代码则会出现编译错误

#include <iostream>
using namespace std;

int main()
{

int a=5,b=8,c=10;
cout<< maxvalue(a,b,c);
return 0;
}

int maxvalue(int a,int b,int c)
{
if(a<b) a=b;
if(a<c) a=c;
return a;
}

当然,也可以将该方法单独定义在一个头文件中,然后Include进来,这个机制与ASP里面是一样的

我们先将如下代码定义为common.h文件

int maxvalue(int a,int b,int c)
{
if(a<b) a=b;
if(a<c) a=c;
return a;
}

然后修改原先的代码文件

#include <iostream>
#include "common.h"

using namespace std;

int main()
{

int a=5,b=8,c=10;
cout<< maxvalue(a,b,c);
return 0;
}