我有一堂课,我想让id自动生成;
class Id{
private:
int id;
Automat automat;
}
和班级
class Array
{
Id* arr;//Every object to have a unique integer id;
int number_of_elements;
int capacity;
}
答案 0 :(得分:4)
您必须使用static
成员来计数对象:
class Id
{
public:
Id()
{
id = unique_id++;
}
int get_id()
{
return id;
}
private:
int id;
static int unique_id;
}
初始化源文件中的静态成员:
static int Id::unique_id = 0;
创建对象:
Id id1; // id1.get_id() will return 1
Id id2; // id2.get_id() will return 2
Id id3; // id3.get_id() will return 3
注意: 这是一个简单的示例,但是您可以对其进行改进并为更好的处理添加条件。
答案 1 :(得分:1)
您应该添加一个调用<random>
的构造函数。然后,Array类应检查匹配的id并将其替换为新对象。