每日博客

单例模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解单例模式的动机,掌握该模式的结构;

2、能够利用单列模式解决实际问题。

 

 

[实验任务一]:学号的单一

仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。

C++版

#include <iostream>
using namespace std;

class singleton
{
private:
singleton(){cout<<"id"<<endl;}
static singleton*singPtr;
public:
static singleton*getInstance()
{
if(singPtr==NULL){singPtr=new singleton;}
return singPtr;
}
};
singleton*singleton::singPtr=NULL;
void test()
{
singleton*s1=singleton::getInstance();
singleton*s2=singleton::getInstance();
if(s1==s2){cout<<"the same one"<<endl;}
else
{
cout<<s1<<endl;
cout<<s2<<endl;
}
}
main()
{
test();
}

posted @ 2021-11-09 21:01  谦寻  阅读(82)  评论(0编辑  收藏  举报