如何从cpp中不同基类对象的文件中读取对象

时间:2017-03-20 09:22:07

标签: c++

想要将不同的形状对象存储到文件中并使用cpp读取相同的内容。请帮我怎么做?

    static void saveShape(Shape* shape)//Shape may be circle, square, rectangle.....
    {
        ofstream os;
        os.open("shapetemp.txt", ios::app);
        os << shape;
        os.close(); 
    }
    static void readShape()
    {
        Shape tempShape ;
        ifstream fin;
        fin.open("shapetemp.txt",ios::in);
        while ( ??)
        {
            //what is code to write here??
        }


    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用protobuf保存数据

message PBDataContainer {
    Any data = 1;
}

任何类型都会保存真实数据的类型信息,你可以通过protobuf读取数据和解析器