【问题标题】:Initializing classes from saved file从保存的文件初始化类
【发布时间】:2011-11-29 02:58:58
【问题描述】:

在 Objective-C++ 中,我希望我的应用程序能够保存和加载表示某些 C++ 对象存在的文件。例如,用户正在运行应用程序并创建了对象abc 的类ABC。用户点击保存以创建以某种格式列出这些对象的文件。然后应用程序应该能够从此文件加载并通过调用构造函数A()、@987654336 来初始化类ABC 的新对象xzz @ 和 C()。 (这显然是对流程的极大简化。)

您认为这样做的最佳策略是什么?有没有比将文本映射到构造函数或类似内容的大型 switch 语句更优雅的解决方案?函数指针会帮助我吗?我可以想象做一些事情,比如让ABC 向拥有它们的对象注册自己,并将它们的构造函数存储在某个地方,但我想知道是否有一些简单的东西我'我不见了。

这里的大问题是必须保存几十个类,所以我想要最简单的解决方案。

【问题讨论】:

标签: c++ class constructor load save


【解决方案1】:

跟进我刚刚在您的帖子上发表的评论,那篇文章对 Objective-C 进行了以下说明:

“在 Objective-C 编程语言中,序列化(通常称为归档)是通过覆盖 Object 根类中的 write:read: 方法来实现的。”

我自己只是 Objective-C 的新手,但我熟悉序列化的概念。在这种情况下,通过覆盖这些方法,您正在使给定类型的对象能够以您指定的格式将自身写入文件,并且您还允许它通过从文件中读取其状态来设置其状态。

我相信 Google 会为此提供很多教程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多