文章目录
如何跨文件调用
- 假设我们的文件目录如下:
=cpp
==code_exe
===NamespaceUsage.cpp
==execute
===NamespaceUsage2.cpp
==include
===test.h
- 其中,test.h为命名空间的声明,其代码如下:
#ifndef _TEST_
#define _TEST_
// 声明一个命名空间
namespace MySpace
{
// 声明函数
void func1();
void func2(int);
}
#endif
- NamespaceUsage2.cpp为源文件,是对MySpace的定义,其代码如下:
#include <iostream>
#include "..\include\test.h" //调用自己声明的头文件
using namespace std;
void MySpace::func1()
{
cout << "MySpace::func1()" << endl;
}
void MySpace::func2(int x)
{
cout << "MySpace::func2()" << x << endl;
}
其中,#include "..\include\test.h"
是test.h相对于NamespaceUsage2.cpp的位置,..\
表示返回上一目录级。#include "..\include\test.h"
中也可以写成test.h的绝对地址。
- NamespaceUsage.cpp为执行代码,代码如下:
#include <iostream>
#include "..\include\test.h" //调用自己声明的头文件
#include "..\execute\NamespaceUsage2.cpp" //调用所设置的源文件
using namespace std; // 使用std命名空间
int main()
{
/*命名空间的声明和分开实现*/
MySpace::func1();
MySpace::func2(3);
return 0;
}
需要同时调用声明的头文件test.h
和定义的源文件NamespaceUsage2.cpp
。
- 运行结果如下: