C++ Point的序列化与反序列化

   2024-10-06 5090
核心提示:在C++中,可以通过重载流操作符和来实现Point类的序列化和反序列化。下面是一个简单的示例代码:#include iostreamusing namespa

在C++中,可以通过重载流操作符<<和>>来实现Point类的序列化和反序列化。

下面是一个简单的示例代码:

#include <iostream>using namespace std;class Point {public:    int x;    int y;    // 重载<<操作符,实现序列化    friend ostream& operator<<(ostream& out, const Point& p) {        out << p.x << " " << p.y;        return out;    }    // 重载>>操作符,实现反序列化    friend istream& operator>>(istream& in, Point& p) {        in >> p.x >> p.y;        return in;    }};int main() {    Point p1;    p1.x = 10;    p1.y = 20;    // 序列化    cout << "Serialized Point p1: " << p1 << endl;    // 反序列化    Point p2;    cout << "Enter x and y for Point p2: ";    cin >> p2;    cout << "Deserialized Point p2: " << p2 << endl;    return 0;}

在上面的代码中,我们定义了一个Point类,并重载了<<和>>操作符,实现了Point类的序列化和反序列化。在main函数中,我们首先创建一个Point对象p1并序列化输出,然后创建一个新的Point对象p2并通过用户输入进行反序列化,最后输出反序列化后的结果。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

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