Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167048
  • 博文数量: 71
  • 博客积分: 165
  • 博客等级: 入伍新兵
  • 技术积分: 431
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-17 00:35
文章分类
文章存档

2013年(3)

2012年(68)

分类:

2012-11-09 13:22:33

 sigle.h

点击(此处)折叠或打开

  1. #ifndef _SIGLE_H_
  2. #define _SIGLE_H_

  3. /**
  4.  * @brief 单例模式
  5.  */
  6. class Sigle
  7. {
  8. private:
  9.     Sigle()
  10.     {
  11.     }
  12. public:
  13.     static Sigle * getInstance(); /// < Sigle()
  14.     void sound();
  15. private:
  16.     static Sigle * sig; /// <
  17. };

  18. #endif
sigle.c

点击(此处)折叠或打开

  1. #include "sigle.h"
  2. #include <iostream>
  3. using namespace std;

  4. Sigle * Sigle::sig = NULL;

  5. /**
  6.  * @brief 获得实例
  7.  */
  8. Sigle * Sigle::getInstance()
  9. {
  10.     if (NULL == sig)
  11.         sig = new Sigle();
  12.     return sig;
  13. }

  14. /**
  15.  * @brief 简短宣传
  16.  */
  17. void Sigle::sound()
  18. {
  19.    cout << "我得到单例了!" << endl;
  20. }
main.c 

点击(此处)折叠或打开

  1. #include "sigle.h"
  2. //#include <iostream>
  3. //using namespace std;

  4. int main(int argc, const char *argv[])
  5. {
  6.     /// < 调用静态函数获得单例
  7.     Sigle * psig = Sigle::getInstance();
  8.     psig->sound();
  9.     delete psig;

  10.     return 0;
  11. }

阅读(469) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~