找回密码
  注册[Register]
查看: 960|回复: 6

[vc] c++单列模式学习

  [复制链接]
发表于 2019-10-8 12:54 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

简单的说,一个类只能生成一个对象,看看c++是怎么实现的。

2.png

代码:
  1. // study.cpp : 定义控制台应用程序的入口点。
  2. //

  3. #include "stdafx.h"
  4. #include <iostream>

  5. using        namespace std;

  6. class CSingleton
  7. {

  8. private:
  9.         CSingleton();
  10.         static        CSingleton        *pInstance;
  11. public:
  12.         static        CSingleton*        GetInstance(){
  13.                 if (pInstance == NULL){
  14.                         pInstance = new CSingleton();
  15.                         return pInstance;
  16.                 }
  17.                 return pInstance;
  18.         }
  19.         void        Address()
  20.         {
  21.                 printf("%08x\n", pInstance);
  22.         }
  23.         ~CSingleton();
  24. };

  25. CSingleton::CSingleton()
  26. {
  27. }

  28. CSingleton::~CSingleton()
  29. {
  30. }

  31. CSingleton* CSingleton::pInstance = NULL;
  32. int _tmain(int argc, _TCHAR* argv[])
  33. {
  34.          
  35.         auto        a = CSingleton::GetInstance();
  36.         auto        b = CSingleton::GetInstance();
  37.         a->Address();
  38.         b->Address();

  39.         getchar();
  40.         return 0;
  41. }
复制代码
虽然调用了两次GetInstance,但在程序运行的时候有且只有一个对象。
3.png
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-8 12:55 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-8 12:55 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-8 13:06 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-8 14:02 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-8 17:33 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-11 01:03 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-15 17:17 , Processed in 0.039133 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表