关于类模板的使用

w66187564 2008-03-25 03:30:02
现在我有一个类,想把他改成类模板,不知道该怎么改。
vector<CAccount> accountlist;
vector<CAppendMoney> appendmoneylist;
vector<CConsume> consumelist;
上面列出的三变量名和存储类型不同数据,我想把下面那个类改成通用的类模板
该怎么改?下面那个类是是按照vector<CAccount> accountlist写的,我想
让其他两个类型也能用,该怎么改?
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();
}
}
...全文
179 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
野男孩 2008-03-25
  • 打赏
  • 举报
回复

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();
}
}


CFile< vector<CAccount> > obj1;
obj1.SaveAccountInfo(accountlist);

CFile< vector<CAppendMoney> > obj2;
obj2.SaveAccountInfo(appendmoneylist);
w66187564 2008-03-25
  • 打赏
  • 举报
回复
着色不知道怎么的出错了,不好意思,本来是想给accountlist着色的

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧