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

static *GetSingletonInstance

 
阅读更多

 

 

to release the source code:

 

 

 

1. Box.h

 

#ifndef BOX_H
#define BOX_H

using namespace std;

class Box {
protected:
     int fMax;
     
     static Box*  pfSingletonInstance;

public:

    Box(int max);
    
    ~Box();
    
    
public:

    void setMax(int i);
    int getMax(void) const ;
    
    static Box* GetSingletonInstance(void);

};


#endif


 

 

 

2. Box.cpp

 

#include "Box.h"

#define NULL 0


using namespace std;

Box * Box::pfSingletonInstance = NULL;


Box::Box(int max){
   fMax = max;
   
   if(pfSingletonInstance == 0){
   	pfSingletonInstance = this;
   }

}

Box::~Box(){
	
	pfSingletonInstance = NULL;
}


void Box::setMax(int i){
     fMax = i;
}


int Box::getMax() const {
    return fMax;
}


Box* Box::GetSingletonInstance(){
	if(pfSingletonInstance == NULL){
		//error
		//std::cout<<"Box::GetSingletonInstance [pfSingletonInstance = NULL]"<<std::endl;
	}
	
	return pfSingletonInstance;

}




 

 

 

3. Test.cpp

 

 

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

using namespace std;

int main(){
	Box*  b = new Box(100);
	
	b->setMax(900);
	
	std::cout<<b->getMax()<<std::endl;
	
	Box* b2 = Box::GetSingletonInstance();
	
	std::cout<<b2->getMax()<<std::endl;
}








 

 

 

4. to run:

 

Administrator@g-laptop /cygdrive/e/cprogramming/workspace/cpp
$ ./hello
900
900

 

分享到:
评论

相关推荐

    libcurl-vc15-x86-release-static-ssl-static-zlib-static-ipv6-sspi.zip

    3. **x86-release-static**:这表明这个版本是为32位(x86)系统编译的,并且是静态链接的。这意味着库的所有依赖项都包含在单一的二进制文件中,不需要在运行时寻找额外的动态链接库(DLLs)。 4. **ssl-static**...

    AE插件:AEJuice插件Anti-Static、Export GIF、Move to、Quick Folders和Round

    **Anti-Static**插件旨在帮助用户减少或消除静态噪音和杂乱的像素干扰,这对于许多视频和动画制作来说是一个常见且令人头疼的问题。通过使用Anti-Static,用户可以轻松地清理和优化素材,使最终输出更加干净和专业。...

    要static还是不要static?

    在编程世界中,"static" 是一个非常关键的修饰符,它在 Java 语言中扮演着重要的角色。本文将深入探讨 "static" 关键字的含义、用途以及何时选择使用或不使用它。我们将通过分析《要 static 还是不要 static?》这篇...

    const,extern,static,volatile的使用

    ### const、extern、static、volatile 的使用详解 #### 一、const 的使用 **1. 为什么使用 const** `const` 关键字在 C 和 C++ 编程语言中非常常见,它用来声明一个常量或者指定某个变量的某个方面为不可变。使用...

    static变量和static函数的用法摘抄

    在C++编程中,`static`关键字有着独特的用途,它主要用在变量和函数的声明上,以控制它们的存储方式、作用域和生命周期。以下是关于`static`变量和`static`函数的详细解释。 **一、static变量** 1. **静态局部变量...

    java视频 static关键字

    在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,涉及到类、对象以及变量和方法的生命周期。本视频教程详细讲解了`static`关键字在Java中的应用及其背后的原理。 首先,我们要理解`static`...

    Python库 | staticx-0.12.0-py3-none-manylinux1_x86_64.whl

    **Python库 | staticx-0.12.0-py3-none-manylinux1_x86_64.whl** 在Python编程中,库是至关重要的组成部分,它们提供了丰富的功能,帮助开发者快速构建复杂的应用程序。这里我们要关注的是名为`staticx`的Python库...

    用Static Text控件显示当前系统时间

    在Windows编程中,Static Text控件通常用于展示固定不变的文字信息,但在某些场合,我们希望它能动态地显示如系统时间这样的实时信息。本话题将深入探讨如何利用Static Text控件来显示系统的当前时间,这一功能在...

    static的使用方法

    在Java编程语言中,`static`关键字扮演着至关重要的角色,它定义了类级别的变量和方法,不受实例化对象的影响。本篇文章将深入探讨`static`的使用方法、原理及其在代码块中的应用。 首先,我们要理解`static`修饰符...

    c语言中static使用方法

    ### C语言中Static使用方法详解 #### 一、C程序存储空间布局 C语言程序的存储空间主要由以下几个部分组成: 1. **正文段**:这部分存储的是CPU执行的机器指令,一个程序通常只有一个副本,并且是只读的,以防止...

    Joomla插件系列3--content static

    **Joomla插件系列3--content static** Joomla是一个开源的内容管理系统(CMS),它允许用户构建网站并管理其内容。这个“content static”插件是专门为Joomla设计的,旨在帮助用户将动态网页转化为静态HTML页面,...

    类的static,const,static const,const static成员的初始化

    类的static、const、static const、const static成员的初始化 在 C++ 编程中,static、const、static const 和 const static 是四个常见的概念,但它们的初始化方式却容易弄混淆。下面我们将对这四种成员变量的初始...

    C++中Static的使用方法

    ### C++中Static的使用方法详解 #### 一、Static的基本概念 1. **什么是Static?** - `static`是C++中的一个重要关键字,主要用于控制变量的存储方式和可见性。 - 在C++中,`static`可以用于局部变量、全局变量...

    visdom static脚本包

    在您提供的信息中,标题是“visdom static脚本包”,这暗示可能遇到了在启动 Visdom 时遇到的问题,即缺少 `/visdom/static/` 目录下的必要脚本文件。 Visdom 的正常运行依赖于这个 `/static/` 目录,因为它包含了...

    Static控件 动态显示内容

    Static控件在Windows编程中是一种常见的用户界面元素,主要用于显示静态文本,比如提示信息、标题或者标签等。然而,尽管其名称为“Static”,我们也可以通过一些技术手段使其动态显示内容,例如滚动显示文本。在本...

    static 的使用场合

    在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,涉及到类、对象以及内存管理等多个方面。下面将详细说明`static`关键字的使用方法和适用场合。 1. **静态变量(Static Variables)** - `...

    C++关键字之static的基本用法

    在C++编程语言中,`static`关键字是一个非常重要的特性,它有多种用途,涉及到变量、函数、类成员等多个方面。下面将详细讲解`static`关键字的基本用法及其在不同场景下的应用。 1. **静态全局变量(Static Global ...

    Static静态变量的应用(VB6.0代码编写)

    在VB6.0编程环境中,Static变量是一种特殊的变量类型,它在函数或过程中扮演着持久化存储的角色。Static变量的特点在于,即使函数或过程执行完毕,它的值也不会被清除,而是保留下来,等待下一次调用时继续使用。这...

    VC用Static控件绘制曲线

    在VC++(Visual C++)开发环境中,使用Static控件绘制曲线是一项常见的需求,尤其是在创建用户界面时,静态控件由于其简洁、轻量级的特性,常被用来展示各种图表和数据。本教程将详细介绍如何利用Static控件在VC++中...

    22_static video

    标题“22_static video”和描述“22_static javase 视频文件”暗示了这个压缩包中的内容可能与Java编程语言的“static”关键字有关,特别是与Java SE(标准版)平台的基础教学视频相关。Java中的“static”关键字是...

Global site tag (gtag.js) - Google Analytics