问题描述
UML图
源代码
//main.cpp
#include <iostream>
#include "ObjectCounter.h"
using namespace std;
int main()
{
ObjectCounter a;
cout << "a: " << a.getCounts() << endl;
cout << "no: " << a.getID() << endl;
cout <<"**************************" <<endl;
ObjectCounter b;
cout << "b: " << b.getCounts() << endl;
cout << "no: " << b.getID() << endl;
cout <<"**************************" <<endl;
ObjectCounter c;
cout << "c: " << c.getCounts() << endl;
cout << "no: " << c.getID() << endl;
cout <<"**************************" <<endl;
ObjectCounter d;
cout << "d: " << d.getCounts() << endl;
cout << "no: " << d.getID() << endl;
cout <<"**************************" <<endl;
ObjectCounter e;
cout << "e: " << e.getCounts() << endl;
cout << "no: " << e.getID() << endl;
return 0;
}
//ObjectCounter.h
using namespace std;
class ObjectCounter{
static int counts ;
int id;
public:
ObjectCounter();
int getID();
int static getCounts();
~ObjectCounter();
};
//ObjectCounter.cpp
#include <iostream>
#include "ObjectCounter.h"
using namespace std;
int ObjectCounter::counts = 0;
ObjectCounter::ObjectCounter(){
id = ++counts;
};
ObjectCounter::~ObjectCounter(){
counts--;
}
int ObjectCounter::getID(){
return id;
}
int ObjectCounter::getCounts(){
return counts;
}
测试
输入:
输出:
更多相关内容请参见