【问题标题】:Where should I store a list of objects?我应该在哪里存储对象列表?
【发布时间】:2018-04-17 05:52:19
【问题描述】:

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

【问题讨论】:

    标签: c++ inheritance vector


    【解决方案1】:

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

    一旦你解决了这个问题,你就可以决定以你想要的方式将对象存储在任何地方。

    【讨论】:

      【解决方案2】:

      据我了解您的问题,您有一个基类和两个派生类。所有这些你都想从一个文件中写入和读取,并且你想一次从这个对象中读取多个实例。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 2019-04-25
        • 2013-12-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多