c++ 头文件引用其他作用域函数
时间: 2023-09-22 17:05:45 浏览: 152
在 C++ 中,如果想要在一个源文件中使用另一个源文件中定义的函数,可以使用头文件。头文件可以包含函数声明和函数定义,以便在其他源文件中使用。
当头文件中包含了其他作用域中定义的函数时,需要使用作用域解析运算符 "::" 来指定函数的作用域。例如,在头文件中包含了命名空间中的函数时,可以使用作用域解析运算符来指定函数的作用域,如下所示:
```c++
// header.h
namespace ns {
void func();
}
// source1.cpp
#include "header.h"
void ns::func() {
// 函数定义
}
// source2.cpp
#include "header.h"
int main() {
ns::func(); // 调用命名空间中的函数
return 0;
}
```
在上面的代码中,头文件 "header.h" 中包含了命名空间 ns 中的函数 func 的声明。在源文件 "source1.cpp" 中定义了函数 func,并使用作用域解析运算符 "::" 来指定函数的命名空间。在源文件 "source2.cpp" 中,通过包含头文件 "header.h" 来使用命名空间中的函数 func。
需要注意的是,在使用头文件时,要确保头文件中的代码只被编译一次。为了避免重复编译,可以使用预编译指令 "#ifndef" 和 "#define" 来防止头文件的重复包含,如下所示:
```c++
// header.h
#ifndef HEADER_H
#define HEADER_H
namespace ns {
void func();
}
#endif
```
在上面的代码中,使用预编译指令 "#ifndef" 和 "#define" 来防止头文件的重复包含。如果头文件已经被包含,则不会再次包含头文件。
阅读全文