可可西

单件模式

单件模式要保证的是:类只能实例化一个对象。

为了保证这点,需要将类的构造函数析构函数声明为私有类型

代码如下:

复制代码
 1 class single
 2 {
 3 private:
 4     single():m_chs("Hello"){}
 5     ~single(){}
 6 
 7 public:
 8     void printHello()
 9     {
10         printf("%s\n",m_chs);
11     }
12 
13 public:
14     static single* getInstance()
15     {
16         if (!m_instance) m_instance=new single;
17         return m_instance;
18     }
19     static void release()
20     {
21         if (m_instance) delete m_instance;
22     }
23 
24 private:
25     static single* m_instance;
26     const char* m_chs;
27 };
28 
29 single* single::m_instance = NULL;
30 
31 
32 int main(int argc, char* argv[])
33 {
34     single* a = single::getInstance();
35     a->printHello();
36     single::release();
37     return 0;
38 }
复制代码

posted on   可可西  阅读(248)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)

导航

统计信息

点击右上角即可分享
微信分享提示