【发布时间】:2017-04-23 17:13:34
【问题描述】:
我试图为每个创建的对象创建一个唯一的 ID,同时还跟踪已创建的对象实例的数量。但似乎当调用析构函数并减少计数器时,ID 会随之改变。
.h
class Objekt
{
public:
Objekt();
~Objekt();
int ID;
static int get_counter();
private:
static int counter;
};
.cpp
#include "Objekt.h"
Objekt::Objekt()
{
counter++;
ID = counter;
}
Objekt::~Objekt()
{
--counter;
}
int Objekt::get_counter()
{
return counter;
}
【问题讨论】:
-
您能否提供一个显示意外行为的minimal reproducible example?