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

   2024-10-22 5460
核心提示:在C++中,序列化和反序列化可以通过自定义类来实现。以下是一个简单的示例:#include iostream#include fstreamclass Person {pr

在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方法显示反序列化结果。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号