设计一个类,我们只能生成该类的一个实例。

 单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。

(1)这种方法只适用单线程。

#include
#include
using namespace std;
class Csingleton
{
private:
    Csingleton()//构造函数私有化
    { 
        cout<<"Csingleton()"<

(2)多线程,当Csingleton还没有创建出来时,需要加把锁;当Csingleton创建出来之后,无需加锁。

公司主营业务:网站建设、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出扶风免费做网站回馈大家。

#include
#include
using namespace std;
class Csingleton
{
private:
    Csingleton()//构造函数私有化
    { 
        cout<<"Csingleton()"<

(3)利用静态构造函数,初始化静态变量的时候创建实例。

#include
#include
using namespace std;
class Csingleton
{
private:
    Csingleton()//构造函数私有化
    { 
        cout<<"Csingleton()"<

结果:

设计一个类,我们只能生成该类的一个实例。


分享标题:设计一个类,我们只能生成该类的一个实例。
当前路径:http://cdiso.cn/article/jdissj.html

其他资讯