我应该在哪里存储对象列表?

时间:2018-04-17 05:52:19

标签: c++ inheritance vector

我有一个基类和两个派生类。我想在文件中写入和读取这些类的对象。我在考虑写入/读取数据的虚函数,但我不知道在哪里放置这些函数。在基类?当我将从文件中读取数据时,我将存储指向向量中对象的指针,但我想我不能拥有指向声明此向量的类的对象的指针向量。有人可以帮我解决这个问题吗?提前感谢任何建议。

2 个答案:

答案 0 :(得分:1)

当您将对象写入文件时,您还必须存储一些信息,以便在稍后再次读取时知道对象的类型/类别;否则,您将不知道要实例化哪个派生类。

解决了这个问题后,您可以决定将对象存储在哪里以及以何种方式存储。

答案 1 :(得分:0)

据我所知,你有一个基类和两个派生类。所有这些都是你想要从文件中写入和读取的,并且你希望一次从这个对象中读取多个实例。

在我看来,你需要一个容器类,它负责阅读和写作。这意味着您实现了一个类,它将您的实例存储在向量中,然后可以将它们保存到磁盘并再次读取它们。

保存从同一基类继承的不同类型的类还需要添加一个类型,您必须在写入和读取期间检查该类型,以正确处理存储的信息。