    Листинг 13.9 заново объявляет класс TTime с использованием нескольких 
встраиваемых функций-членов (строки 14 и 17-22). Как и в предыдущих примерах, 
скомпилируйте и скомпонуйте вместе следующие три га для получения работающей 
программы. Находясь в DOS, введите команду bcc appoint3 time3, затем запустите 
получившийся в результате этих действий исполняемый файл APPOINT3.EXE. Или же 
из интегрированной оболочки откройте файл проекта APPOINT3.IDE и нажмите 
<Ctrl+F9> для компиляции и запуска. 

    Листинг 13.9.  (новое объявление класса TTime с встраиваемыми функциями-членами) 

    1:    // time3.h -- Объявление класса TTime 
    2  
    3:    #ifndef _ТIМЕЗ_Н 
    4:    #define _TIME3_H 1 // Предотвращение несколько((include 
    5:    
    6:    #include <iostream.h>                 
    7:    # include <time.h>                             
    8:    #include <string.h>                      
    9: 
  10:    class TTime { 
  11:     private:                                                            
  12:	  long dt; // Дата и время - в секундах от 1 января 1970 года 
  13:      public: 
  14:	 void Display(void) { cout « ctime(&dt); } 
  15:	 void 6etTime(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:	{ 
  19:	  char *cp = strdup(ctime(&dt)); 
  20:	  return cp; 
  21:	} 
  22:	void ChangeTime(long nminutes) { dt += (nminutes * 60);  } 
  23:     } ; 
  24: 
  25:   #endif // __ТIME_Н 

    В результате использования встраиваемых функций в TIME3.H реализация 
класса в листинге 13.10 неcколько упрощается. 

    Листинг 13.10.  TIME3.CPP (реализация невстраиваемых функций класса TTime) 

    1:	// timeS.cpp -- Реализация класса TTime 
    2: 
    3:	#include <dos.h>                                                       
    4:	#include "timeS.h" 
    5:	
    6:	// Возвращает текущие данные-члены дату и время                  
    7:	void TTime::GetTime(int &m, int &d, int &y, int &hr, int &min) 
    8:	{                                                : 
    9:	struct date ds;                                
  10:	struct time ts;                                      
  11:
  12:	unixtodos(dt, &ds. &ts);                 
  13:	y.= ds.da_year; 
  14:	m = ds.da_mon; 
  15:	d = ds.da_day; 
  16:	hr = ts.ti_hour;                                                      
  17:          min = ts.ti min;	
  19: 
  20:	// Устанавливает член dt 
  21:	void TTime: :SetTime(int m,  int d,  int y,  int ir, int min)
  22:	{ 
  23:	struct date ds;                                                        
  24:	struct time ts;                                                        
  25: 
  26:	ds.da_year = y; 
  27:	ds.da mon = m; 
  28:	ds.dalday = d; 
  29:	ts.tijiour = hr; 
  30:	ts.tijnin = min;                                                       
  31:	ts.ti_sec = 0; 
  32:	ts,ti_hund = 0; 
  33:	dt = dostounix(&ds, &ts); 
  34:	} 
    
    Глава 13. Программирование классов	317 