シングルトンパターン解析

11.シングルトン場合----会長
(1)内部には、民営化の静的オブジェクト・ポインタを維持します。(クラスの初期化以外では、新たなステージをコンパイルすると、比率の主な機能の実装を先行し、出てきた)
(2)デフォルトコンストラクタ、コピーコンストラクタ民営化
(3)にアクセスするには、このポインタの静的のgetInstance()メソッドの外部公衆を提供
注:目的:一例を与えるために、このクラスはインスタンスを解放する必要はありません、そこにある(つまり、自分自身のデストラクタを提供する必要はありません)

ケース会長

#include <iostream>
#include<string>
using namespace std;

class ChairMan
{
public:
	static ChairMan *getInstance()
	{
		return singleMan;
	}
private:
	static ChairMan * singleMan;//私有静态唯一对象指针
	ChairMan()
	{
		cout<<"ChairMain 构造函数的调用"<<endl;
	}
	ChairMan(const ChairMan* &C){}
};

ChairMan * ChairMan::singleMan = new ChairMan;//static类外初始化

void test01()
{
	cout<<"main函数的调用"<<endl;//证明对象先于main函数出现
	ChairMan* c1=ChairMan::getInstance();
	ChairMan* c2=ChairMan::getInstance();
	if(c1 == c2)
	{
		cout<<"c1,c2相同"<<endl;
	}
}
公開された38元の記事 ウォン称賛13 ビュー4346

おすすめ

転載: blog.csdn.net/YanWenCheng_/article/details/103924962