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




