类的序列化
我不知道bcb中如何使得类序列化的?就是把一个类保存在文件中,要用的时候,再从硬盘上取出,我想用这样的方法来保存配置文件,具体是怎么做呢?
[解决办法]
可以这样实现:
#include <iostream>#include <fstream>class TA{ int id; double value; public: virtual void input(std::istream& is); //输入函数,可以从文件输入 virtual void output(std::ostream& os); //输出函数,可以输出到文件 friend std::istream& operator>>(std::istream& is,TA& a); friend std::ostream& operator<<(std::ostream& os,TA& a);};void TA::input(std::istream &is){ is.read((char*)&id,sizeof(id)); is.read((char*)&value,sizeof(value));}void TA::output(std::ostream &os){ os.write((char*)&id,sizeof(id)); os.write((char*)&value,sizeof(value));}istream& operator>>(istream& is,TA& a){ a.input(is); return is;}ostream& operator<<(ostream& os,TA& a){ a.output(os); return os;}int main(){ TA a; std::ofstream fout; fout.open("TA.DAT",std::ios::binary|std::ios::out); if(fout.is_open()) { fout<<a; fout.close(); } return 0;}