C++的某个头文件通常需要被多个文件include,为了防止同一个头文件被包含多次导致了重复定义,需要在头文件中加上以防卫式声明,例如对于头文件的"complex.h",其防卫式声明如下:
#ifndef __COMPLEX__
#define __COMPLEX__//头文件内容#endif
如果complex.h被第一次include,则“头文件内容”会被include进去,如果此时complex.h是被第二次、第三次、第N次include,则“头文件内容”将不再include进去,这样当多个文件同时#include "complex.h",实际上只有一次#include "complex.h"。其中COMPLEX是自定义的名字,一般是头文件名大写。