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;
}
}