读书人

类的序列化解决办法

发布时间: 2012-02-05 12:07:15 作者: rapoo

类的序列化
我不知道bcb中如何使得类序列化的?就是把一个类保存在文件中,要用的时候,再从硬盘上取出,我想用这样的方法来保存配置文件,具体是怎么做呢?

[解决办法]
可以这样实现:

C/C++ code
#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;} 

读书人网 >C++ Builder

热点推荐