//头文件abc.h
#ifndef _ABC_H
#define _ABC_H
//Program Body
#endif;
它的作用就是防止头文件abc.h中的Program Body部分被程序中的多个文件多次定义,这是C++不允许的,会出现报error:redefinition 错误
#ifndef _ABC_H
#define _ABC_H
//Program Body
#endif;
就相当于给头文件中的Program Body程序段加上了一个标识符_ABC_H,它是唯一代表abc.h中Program Body程序段的标志。当我们要在多个文件中#include"abc.h"时,第一个使用abc.h的文件会先定义一个标识符为_ABC_H的Program Body程序段,当第二个文件又要定义标识符_ABC_H的那个程序段Program Body时,编译器就会自动识别了,发现标识符_ABC_H的程序段已经定义过了,所以就直接跳过#define,运行#endif了。不再对这个程序段定义了,而直接使用之前第一个文件中定义和编译的结果了。