c++实现显示系统当前时间

小朋友托我写的显示时间的控制台小程序,不熟悉时间类,查了下资料,参考上一篇转载博文.另外关于析构函数有点新的收获,通过指针申请的内存空间在主函数退出前需要显示地去释放空间以调用析构函数.而简单的申明对象在主函数退出时会自动调用析构函数. 下面是我显示系统当前时间的源代码.

  1. /*
  2.     程序功能:
  3.     显示系统当前时间
  4. */
  5. #include <iostream>
  6. #include "time.h"
  7. using namespace std;
  8. class Clock
  9. {
  10. public:
  11.     Clock(time_t pt=time(NULL))
  12.     {
  13.         t=pt;
  14.         local=localtime(&t);
  15.         nHour=local->tm_hour;
  16.         nMinute=local->tm_min;
  17.         nSecond=local->tm_sec;
  18.     }
  19.     ~Clock()
  20.     {
  21.         cout<<"clock destruction OK!"<<endl; 
  22.     }
  23. private:    
  24.     time_t t;
  25.     tm *local;
  26.     int nHour;
  27.     int nMinute;
  28.     int nSecond;
  29.     friend ostream& operator<<(ostream& out,Clock& clock)//重载操作符<<,输出时间 
  30.     {
  31.         out<<clock.nHour<<":";
  32.         if(clock.nMinute<10)
  33.             out<<"0";
  34.         out<<clock.nMinute<<":";
  35.         if(clock.nSecond<10)
  36.             out<<"0";
  37.         out<<clock.nSecond;
  38.         out<<endl;
  39.         delete &clock;//释放空间
  40.         return out;
  41.     }
  42. };
  43. int main()
  44. {
  45.     Clock *clock=new Clock();
  46.     cout<<"Local Time is:"<<endl;
  47.     cout<<*clock;
  48.     
  49.     return 0;
  50. }

你可能感兴趣的:(C++,null)