65,206
社区成员
发帖
与我相关
我的任务
分享vector<CAccount> accountlist;
vector<CAppendMoney> appendmoneylist;
vector<CConsume> consumelist;上面列出的三变量名和存储类型不同数据,我想把下面那个类改成通用的类模板class CFile
{
public:
void SaveAccountInfo();
private:
string filename;
bool IsSave;
bool IsLoad;
};
void CFile::SaveAccountInfo()
{
int i;
CCommon cursor;
ofstream outaccount("AccountFile.txt",ios::out|ios::binary);
if (! outaccount)
{
cursor.GoXY(2,20);
cerr<<"Open file error"<<endl;
}
else
{
for (i=0;i<accountlist.size();i++)
{
outaccount.write((char *)&accountlist[i],sizeof(accountlist[i]));
}
outaccount.close();
cursor.GoXY(2,20);
cout<<"Saved is succeed,press any key to continue";
getch();
}
}
template <class T>
class CFile
{
public:
void SaveAccountInfo(const T& vec);
private:
string filename;
bool IsSave;
bool IsLoad;
};
template <class T>
void CFile<T>::SaveAccountInfo(const T& vec)
{
int i;
//CCommon cursor;
ofstream outaccount("d:\\AccountFile.txt",ios::out|ios::binary);
if (! outaccount)
{
//cursor.GoXY(2,20);
cerr<<"Open file error"<<endl;
}
else
{
for (i=0;i<vec.size();i++)
{
outaccount.write((char *)&vec[i],sizeof(vec[i]));
}
outaccount.close();
//cursor.GoXY(2,20);
cout<<"Saved is succeed,press any key to continue";
//getch();
}
}