这是其中一个片段,导致了date数组中的数据全是User最后的地址的数据,如果想保存每次User的数据该怎么做?感谢解答
user** date = new user*[nume];
user*User= new user(1, "zhangsan", "password", 100, 1);
void getdate() {//获取用户信息保存到数组
fstream ofs;
getnume();
ofs.open(file, ios::in);
for (int i = 0; i < nume; i++) {
ofs >> User->id
>> User->Name
>> User->Password
>> User->money
>> User->State;
date[i] = User;
cout << date[i]->id<<endl;
}
cout << date[0]->id << endl;
cout << date[1]->id << endl;
cout << date[2]->id << endl;
system("pause");
ofs.close();
}
运行中数据的变化结果
data是指针数组,每个date[i] = User;中的User都要new出来。User一直指向同一片内存区域,你一直操作的就是这一片区域了。