`
mylove2060
  • 浏览: 330623 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C++ Singleton模式

阅读更多
//Singleton.h
#include <iostream>

class Singleton
{
public:
	Singleton();
	static Singleton *GetInstance();
	void DisplayCount();
	void AddCount(int in_count);
private:
	int m_count;	
};




//Singleton.cpp
#include "Singleton.h"

Singleton::Singleton()
{
	m_count = 0;
}

Singleton *Singleton::GetInstance()
{
	static Singleton obj;
	return &obj;
}

void Singleton::DisplayCount()
{
	std::cout<<"Count:"<<m_count<<std::endl;
}

void Singleton::AddCount(int in_count)
{
	m_count +=in_count;
}





#include <iostream> 
#include "Singleton.h"



int main() 
{ 
	Singleton::GetInstance()->DisplayCount(); //0
	Singleton::GetInstance()->AddCount(2);    //0+2
	Singleton::GetInstance()->DisplayCount();  //2 
	Singleton::GetInstance()->AddCount(5);     //2+5
	Singleton::GetInstance()->DisplayCount();  //7
	Singleton::GetInstance()->AddCount(10);     //7+10
	Singleton::GetInstance()->DisplayCount();  //17
} 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics