头文件保护符:#ifndef ,#define ,#endif
头文件保护符:#ifndef ,#define ,#endif,是为了避免某个头文件被多重包含。如类Person中包含了头文件string,而使用Person类的程序中也许并不确定Person中是否已经包含string,于是它便再次#include<string>,这样一来,string就被包含了两次,为了保证多次包含同一头文件不会引起该头文件定义的类和对象被多次定义,就需要采用头文件保护符。
#define表示接受一个名字并定义该名字为预处理器变量【该变量可以自己定义】;#ifndef指示检测指定的预处理器变量是否未定义,如果未定义,那么跟在其后的所有指示都被处理,直到出现#endif。
为什么可以多次包含C++标准库的头文件,是因为每个头文件都已经加了保护符;
我们定义自己的头文件时也要加保护符,使得定义的头文件可以被多次包含。
#ifndef HEAD_H
#define HEAD_H
......
#endif