在头文件和源文件中分别使用 namespace
关键字定义命名空间,然后将函数放在命名空间中。
下面是一个带有源文件和头文件的例子:
// example.h 头文件声明
#ifndef EXAMPLE_H
#define EXAMPLE_H
namespace my_namespace {
int add(int a, int b);
}
#endif
// example.cpp 源文件实现
#include "example.h"
namespace my_namespace {
int add(int a, int b) {
return a + b;
}
}
在这个例子中,头文件 example.h
中定义了一个名为 my_namespace
的命名空间,并在命名空间中声明了函数 add()
。源文件 example.cpp
中实现了函数 add()
并放在了命名空间 my_namespace
中。需要注意的是,在头文件和源文件中都要使用 namespace
关键字来定义命名空间。
在使用函数 add()
时,需要使用命名空间限定符来指定函数所在的命名空间。例如,在 main()
函数中调用函数 add()
的代码如下:
// main.cpp 主文件调用
#include "example.h"
#include <iostream>
int main() {
int a = 1, b = 2;
int c = my_namespace::add(a, b);
std::cout << "The sum of " << a << " and " << b << " is " << c << std::endl;
return 0;
}
在这个例子中,使用 #include
预处理指令将头文件 example.h
包含进来,并使用命名空间限定符 my_namespace::
来调用函数 add()