首页主机资讯c++序列化和反序列化怎么实现

c++序列化和反序列化怎么实现

时间2024-05-28 15:58:03发布访客分类主机资讯浏览684
导读:在C++中,序列化和反序列化可以通过自定义类来实现。以下是一个简单的示例: #include <iostream> #include <fstream> class Person { private: st...

在C++中,序列化和反序列化可以通过自定义类来实现。以下是一个简单的示例:

#include iostream>
    
#include fstream>


class Person {
    
private:
    std::string name;
    
    int age;


public:
    Person(std::string name, int age) : name(name), age(age) {
}
    

    void serialize(std::ofstream&
 ofs) {
    
        ofs  name  " "  age  std::endl;

    }
    

    void deserialize(std::ifstream&
 ifs) {
    
        ifs >
    >
     name >
    >
     age;

    }


    void display() {
    
        std::cout  "Name: "  name  ", Age: "  age  std::endl;

    }

}
    ;


int main() {
    
    Person p1("Alice", 25);
    
    
    // 序列化
    std::ofstream ofs("person.txt");
    
    p1.serialize(ofs);
    
    ofs.close();
    

    // 反序列化
    Person p2("", 0);
    
    std::ifstream ifs("person.txt");
    
    p2.deserialize(ifs);
    
    ifs.close();
    

    // 显示反序列化结果
    p2.display();
    

    return 0;

}
    

在上面的示例中,定义了一个Person类,包含姓名和年龄两个成员变量。该类定义了serializedeserialize方法来序列化和反序列化对象的成员变量。在main函数中,创建了一个Person对象p1,并将其序列化到文件person.txt中。然后再从文件中反序列化得到一个新的Person对象p2,最后调用display方法显示反序列化结果。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c++序列化和反序列化怎么实现
本文地址: https://pptw.com/jishu/670012.html
怎么用java反射执行某个方法 idea导入项目没反应如何处理

游客 回复需填写必要信息