我正在制作一个 c++ 应用程序来存储有关产品的数据,每个产品都有一个唯一的整数 ID,有没有办法做到这一点??
我已经为products做了这个类Node,但是我不知道如何让ID唯一:
class Node{
public:
int ID;
int cost;
int quantity;
string Name;
Node(){ID=0; cost=0;quantity=0; Name="";}
};
最佳答案
有几种方法可以做到这一点。一种方法是在您的类所在的头文件中有一个全局变量,用于定义 ID,并在分配每个 ID 后递增。然而,许多人试图尽可能少地使用全局变量 - 它们太容易在您不期望的时候被修改。
更好的方法可能是创建一个不同的类(让我们称它为 NodeManager
),它有一个成员变量来跟踪当前 ID,每次新 ID 时都会递增成员变量请求,并且必须传递给 Node
的构造函数。
一种稍微更简洁的方法也可以避免使用全局变量,那就是使用静态变量。静态变量在该类的所有实例中都是相同的,因此您可以使用它来跟踪当前 ID。
关于c++ - 为每个节点定义一个唯一的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20477706/