单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。 从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。 #include<iostream> #include<stdlib.h> using namespace std; class Csingleton { private: Csingleton()//构造函数私有化 { cout<<"Csingleton()"<<endl; } public: static Csingleton* GetInstance() { static Csingleton* m_pInstance;//判断是否是第一次调用 if(m_pInstance==NULL) { m_pInstance= new Csingleton(); } return m_pInstance; } }; void test() { Csingleton* c=Csingleton::GetInstance(); Csingleton* s=Csingleton::GetInstance(); } int main() { test(); system("pause"); return 0; } 结果: [object Object]
时间: 2024-10-10 00:23:14