9.24

软件设计 石家庄铁道大学信息学院

实验7:单例模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解单例模式的动机,掌握该模式的结构;
2、能够利用单列模式解决实际问题。

[实验任务一]:学号的单一
仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。
实验要求:
1.画出对应的类图;

2.提交源代码;
C++

include

using namespace std;
class S_num{
private:
static S_num sno;
static int num;
public:
static S_num getintance() {
// TODO Auto-generated method stub
if(num==0) {
cout<<"第一次办理学生证,分配新号码!"<<endl;
sno.setNum(20193288);
}
else {
cout<<"重复办理学生证,获取旧号码!"<<endl;
}
return sno;
}
int getNum() {
return num;
}
void setNum(int n) {
num = n;
}
};

int S_num::num = 0;
S_num S_num::sno = S_num();

int main()
{
S_num sno1=S_num().getintance();
cout<<"第一次获取学号"<<sno1.getNum()<<endl;
S_num sno2=S_num().getintance();
cout<<"第二次获取学号"<<sno2.getNum()<<endl;
cout<<"内容是否相等:"<<(sno1.getNum()sno2.getNum())<<endl;
//cout<<"是否是相同对象:"<<(sno1
sno2)<<endl;
}
3.注意编程规范。

posted @ 2024-09-24 13:55  cor0000  阅读(3)  评论(0)    收藏  举报