Где найти нормальный пример сериализации С++? Помогите найти нормальный пример сериализации класса для с++. Везде какие то сырые куски кода. Или желательно что бы был хорошо объясняемый урок.
#include <iostream> #include <fstream> #include <string> class Person { private: std::string name; int age; public: Person(const std::string& name, int age) : name(name), age(age) {} void serialize(const std::string& filename) { std::ofstream file(filename); file << name << std::endl; file << age << std::endl; file.close(); } void deserialize(const std::string& filename) { std::ifstream file(filename); file >> name; file >> age; file.close(); } void printInfo() { std::cout << "Name: " << name << std::endl; std::cout << "Age: " << age << std::endl; } }; int main() { Person person("Alice", 25); // Сериализуем объект person.serialize("person.txt"); // Десериализуем объект Person deserializedPerson("", 0); deserializedPerson.deserialize("person.txt"); // Печатаем информацию о десериализованном объекте deserializedPerson.printInfo(); return 0; }
В этом примере класс Person имеет методы serialize для сохранения объекта в файл и deserialize для загрузки объекта из файла. Метод printInfo просто выводит информацию о объекте.
Этот код сохранит информацию о персоне в файл person.txt, а затем загрузит эту информацию обратно и выведет её на консоль.
Надеюсь, этот пример поможет вам понять основы сериализации классов в C++.
Вот пример простой сериализации класса в C++:
#include <iostream>#include <fstream>
#include <string>
class Person {
private:
std::string name;
int age;
public:
Person(const std::string& name, int age) : name(name), age(age) {}
void serialize(const std::string& filename) {
std::ofstream file(filename);
file << name << std::endl;
file << age << std::endl;
file.close();
}
void deserialize(const std::string& filename) {
std::ifstream file(filename);
file >> name;
file >> age;
file.close();
}
void printInfo() {
std::cout << "Name: " << name << std::endl;
std::cout << "Age: " << age << std::endl;
}
};
int main() {
Person person("Alice", 25);
// Сериализуем объект
person.serialize("person.txt");
// Десериализуем объект
Person deserializedPerson("", 0);
deserializedPerson.deserialize("person.txt");
// Печатаем информацию о десериализованном объекте
deserializedPerson.printInfo();
return 0;
}
В этом примере класс Person имеет методы serialize для сохранения объекта в файл и deserialize для загрузки объекта из файла. Метод printInfo просто выводит информацию о объекте.
Этот код сохранит информацию о персоне в файл person.txt, а затем загрузит эту информацию обратно и выведет её на консоль.
Надеюсь, этот пример поможет вам понять основы сериализации классов в C++.