Я написал программу для удаления объекта класса , хранящегося в двоичном файле , с использованием файлового потока c ++.Я должен скопировать все объекты из одного файла (example.dat) в другой (temp.dat) во время этого процесса.
У меня есть статическая переменная как часть класса иЯ хотел бы, чтобы он был скопирован вместе с объектами. Но статическая переменная не копируется в temp.dat, и ее значение в temp.dat равно 0 , поскольку статическая переменная не является частью какого-либо объекта.
Здесьэто определение функции и класса, которое я использовал
{ //the problem is in this function
cout<<"\nSno of record to delete: ";
int del;
cin>>del;
fstream o;
o.open("temp.dat",ios::out|ios::in|ios::binary);
if(!f)
{
cout<<"File not Found";
exit(0);
}
else
{f.seekp(0);
f.read((char*)&dats, sizeof(dats));
while(!f.eof())
{
if(dats.sno!=del)
{
o.write((char*)&dats, sizeof(dats));
}
f.read((char*)&dats, sizeof(dats));
}
}
o.close();
f.close();
remove("date.dat");
rename("temp.dat", "date.dat");
return 0; }
определение класса
class date{
int d,m,y;
int k;
char dday[10];
char monthn[10];
char name[50];
public:
int sno;
int odd ();
void getdata();
int fsno();
void display();
static int ID; //static variable
}
Пожалуйста, предложите способ обойти эту проблему