单例模式
#include <iostream>
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(20194171);
}
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;
}
Main
public class Main {
public static void main(String [] args) {
S_num sno1=S_num.getintance();
System.out.println("第一次获取学号"+sno1.getNum());
S_num sno2=S_num.getintance();
System.out.println("第二次获取学号"+sno2.getNum());
System.out.println("内容是否相等:" + (sno1.getNum()==sno2.getNum()));
System.out.println("是否是相同对象:" + (sno1==sno2));
}
}
S_num
public class S_num {
private static S_num sno=null;
private int num=0;
private S_num() {
}
public static S_num getintance() {
// TODO Auto-generated method stub
if(sno==null) {
System.out.println("第一次办理学生证,分配新号码!");
sno=new S_num();
sno.setNum(20183597);
}
else {
System.out.println("重复办理学生证,获取旧号码!");
}
return sno;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
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(20194171);
}
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;
}
Main
public class Main {
public static void main(String [] args) {
S_num sno1=S_num.getintance();
System.out.println("第一次获取学号"+sno1.getNum());
S_num sno2=S_num.getintance();
System.out.println("第二次获取学号"+sno2.getNum());
System.out.println("内容是否相等:" + (sno1.getNum()==sno2.getNum()));
System.out.println("是否是相同对象:" + (sno1==sno2));
}
}
S_num
public class S_num {
private static S_num sno=null;
private int num=0;
private S_num() {
}
public static S_num getintance() {
// TODO Auto-generated method stub
if(sno==null) {
System.out.println("第一次办理学生证,分配新号码!");
sno=new S_num();
sno.setNum(20183597);
}
else {
System.out.println("重复办理学生证,获取旧号码!");
}
return sno;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}

浙公网安备 33010602011771号