为了编写大型程序方便管理,把不同的函数写到不同的文件内不失是一种好方法,那么文件a
内的函数,如何调用文件b内的函数呢?下面用例子说明;
第一步,编写被调用的函数文件,当然每个文件都可以是被调用文件,这里以不含主函数的
文件为被调用文件;文件名add.cpp;
#include "StdAfx.h" //每个文件先包含这个文件
#include "add.h" //再包含与本cpp同名的.h文件;可以以后编写,也可以先写;
int gAdd1=44; //全局变量应该在本.cpp文件中定义别在头文件内定义;
int add(int a,int b) //定义本文件的函数;add;
{
int re=a+b; //局部变量re;
return re;
}
int minus(int a,int b) //定义本文件的函数;mimus;
{
int re=a-b; //局部变量re,因为与add属于不同的函数,可以同名;
return re;
}
//本文件不写add函数声明部分;
第二步,编写与被调用文件同名的头文件add.h
#ifndef _ADD_H_
#define _ADD_H_
#include <ostream>
#include <iostream>
#include <winnt.rh>
#include <wtypes.h>
using namespace std;
int add(int a,int b); //这里声明同名CPP文件里的所有函数;记得加分号;
int minus(int a,int b);
#endif
第三步,编写调用文件,本文件可以是包含主函数的文件也可以是其他的文件,c++里面的函数都是平等的,本文件havemain.cpp;
#include "stdafx.h"
#include "add.h" //用哪个文件内的函数就包含哪个文件的头文件;
extern int gAdd1; //如果要用其他文件声明的全局变量就用关键字
//extern 引用后面的变量;
int _tmain(int argc, _TCHAR* argv[])
{
int x=22;
int y=gAdd1; //这里使用了在add.cpp中定义并赋值的变量gAdd1;
int all;
all=add(x,y); //这里调用了add.cpp文件里的add()函数;
cout<<all<<endl;
return 0;
}
调用文件要包含被调用文件的头文件;用哪个变量就用extern关键字引用;