c++序列化和反序列化怎么实现
导读:在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
类,包含姓名和年龄两个成员变量。该类定义了serialize
和deserialize
方法来序列化和反序列化对象的成员变量。在main
函数中,创建了一个Person
对象p1
,并将其序列化到文件person.txt
中。然后再从文件中反序列化得到一个新的Person
对象p2
,最后调用display
方法显示反序列化结果。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c++序列化和反序列化怎么实现
本文地址: https://pptw.com/jishu/670012.html