gpt4 book ai didi

c++ - 创建一个 ID 静态成员变量来跟踪类 ID

转载 作者:行者123 更新时间:2023-11-30 01:26:49 24 4
gpt4 key购买 nike

我正在尝试创建一个带有静态成员变量 id_index 的“Person”类,以跟踪创建的下一个类的 ID(因此没有两个类具有相同的 ID)。当我运行该程序时,出现以下错误:

G:\WorkSpace\Human\Debug/../Person_Class/Person.cpp:11: multiple definition of `Person::id_index'
Person_Class\Person_Set.o:G:\WorkSpace\Human\Debug/../Person_Class/Person_Set.cpp:10: first defined here
Human.o: In function `main':
G:\WorkSpace\Human\Debug/../Human.cpp:16: multiple definition of `Person::id_index'
Person_Class\Person_Set.o:G:\WorkSpace\Human\Debug/../Person_Class/Person_Set.cpp:10: first defined here

这是 person.h 文件:

#ifndef PERSON_H_
#define PERSON_H_
#include <iostream>

class Person {
public:
static unsigned int id_index; // will aut0-set to 0
Person();
};
unsigned int Person::id_index = 0;
#endif /* PERSON_H_ */

人.cpp:

Person::Person(): ID(id_index) {

}

主要函数存储在 human.cpp 中:

int main(){
Person michael;
return 0;
}

最佳答案

person.h 文件的倒数第二行,unsigned int Person::id_index = 0; 属于 person.cpp。

类似于函数定义属于.cpp,静态变量定义(就是那一行)也属于.cpp。

关于c++ - 创建一个 ID 静态成员变量来跟踪类 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com