Применение заголовочных файлов - не обязательный, но рекомендуемый способ улучшения организации частей программы.
			Выполняет условное включение группы команд в код на этапе компиляции, если определена константа этапа компиляции.
 Синтаксис
 #IFDEF | #IFNDEF ConstantName Commands[#ELSE Commands]#ENDIF 
Параметры
 #IFDEF
 Указывает, что на этапе компиляции следует включить заданную группу команд, если была определена константа этапа компиляции с именем ConstantName. Ниже описывается, каким образом группа команд включается в код на этапе компиляции при задании #IFDEF. Если константа ConstantName определена, на этапе компиляции включается группа команд, следующая за #IFDEF и предшествующая директиве #ELSE или #ENDIF(той из них, которая встретится раньше). Если константа ConstantName не определена и задана директива #ELSE, на этапе компиляции включается группа команд, следующая за #ELSE и предшествующая директиве #ENDIF. Если константа ConstantName не определена и директива #ELSE не задана, ни одна из команд, находящихся внутри структуры #IFDEF ... #ENDIF, не включается на этапе компиляции.
 #IFNDEF
 Указывает, что на этапе компиляции следует включить заданную группу команд, если константа этапа компиляции с именем ConstantName не определена. Ниже описывается, каким образом группа команд включается в код на этапе компиляции при задании #IFNDEF. Если константа ConstantName не определена, на этапе компиляции включается группа команд, следующих за #IFNDEF и предшествующих директиве #ELSE или#ENDIF (той из них, которая встретится раньше). Если константа ConstantName определена и задана директива #ELSE, на этапе компиляции включается группа команд, следующих за #ELSE и предшествующих директиве #ENDIF. Если константа ConstantName определена и директива #ELSE не задана, ни одна из команд, находящихся внутри структуры #IFDEF ... #ENDIF, не включается на этапе компиляции. ConstantNameЗадает константу этапа компиляции, существование которой определяет необходимость включения группы команд на этапе компиляции. Константы этапа компиляции определяются с помощью директивы #DEFINE.
 Commands
 Задают группу команд, включаемых на этапе компиляции.
 Комментарии
 Структуру #IFDEF | #IFNDEF ... #ENDIF можно вкладывать в другую структуру #IFDEF | #IFNDEF ... #ENDIF. Комментарии можно располагать в одной строке с директивами #IFDEF, #IFNDEF, #ELSE и #ENDIF. Комментарии игнорируются во время компиляции и выполнения программы.
 Листинг 2.3 TIME.H (объявление класса TTIME в заголовочном файле)
 1: //time.h-Объявление класса TTime
 2:
  
 //{$IfNDef Symbol}
//Код выполняемый если
 //Symbol определён ...
 {$Else}
//Код выполняем
 // еслиSymbol не определёный //{$EndIf}
					Ifndef TIME1_H
					
					Define TIME1_H 1
					// Предотвращение нескольких #include
 5:
 6: class Ttime {
 7: private:
 8: int month;
 9: int day;
 10: int year;
 11: int hour;
 12: int minute;
 13: public:
 14: void Display(void);
 15: void GetTime(int &m, int &d, int &y, int &hr, int &min);
 16: void SetTime(int m, int d, int y, int hr, int min);
 17: char *GetSTime(void);
 18: void ChangeTime(long minutes);
 19: };
 20:
					Endif // _ _TIME1_H
					 
  Строки 3, 4 и 21 предохраняют заголовочный файл TIME1.H от включения его в один модуль более одного раза.
 Строки 3, 4 и 21 предохраняют заголовочный файл TIME1.H от включения его в один модуль более одного раза.
 	
			
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.