7.5.                                           199

            ->,  -
       ->* (.  19  . 224). 
 new  delete.  ,  , -
          ->  
  -.

7.5.   

     ,   -
  ,   !, ++, ~  [ ].    
clock (),         
, ,   .     .

  clock, 

class clock {
public:

clock(unsigned long i);//  

void print() const; // 

void tick(); //  

clock operator++(){ tickt); return *this; }

void reset (const clock& c);

friend clock operator +(clock cl, clock c2);

clock operator -(clock c);

friend clock operator *(unsigned long m, clock c) ;

friend clock operator *(clock c, unsigned long m) ;

private:

unsigned long tot_secs, sees, mins, hours, days;

};

     .  
           -
. - tick ()       -
  ++.

inline clock::clock(unsigned long i)
{

tot_secs = i;

sees = tot_secs % 60;

mins = (tot_secs / 60) % 60;

hours = (tot_secs / 3600) % 24;

days = tot_secs / 86400;

}

void clock::tick()
{

clock temp = clock(++tot_secs);

sees = temp.sees;