C++中,定义头文件时,为了避免头文件被多次引用而造成的重复定义,需要将整个头文件内容包含在下面的预编译指令中(假设头文件为file.h):
#ifndef FILE_H
#define FILE_H
// 头文件的内容
#endif
这样,如果头文件file.h第一次被引用,宏FILE_H尚未定义,因而定义该宏并引用头文件的内容。如果头文件file.h再次被引用,这时宏FILE_H已经被定义,因而不再重复定义,也不再引用该头文件的内容,这样就避免了同一个头文件由于被多次#include而造成的重复定义和编译。
#ifndef FILE_H
#define FILE_H
// 头文件的内容
#endif
这样,如果头文件file.h第一次被引用,宏FILE_H尚未定义,因而定义该宏并引用头文件的内容。如果头文件file.h再次被引用,这时宏FILE_H已经被定义,因而不再重复定义,也不再引用该头文件的内容,这样就避免了同一个头文件由于被多次#include而造成的重复定义和编译。