gpt4 book ai didi

c++ - "Inherit not, contain"或 "inherit, not contain"

转载 作者:行者123 更新时间:2023-11-28 01:13:39 26 4
gpt4 key购买 nike

我有一个生成很多子对象的应用程序,每个子对象都与一些全局应用程序对象一起工作,例如在全局应用程序注册表中注册自己,更新应用程序统计信息等。

应用程序应该如何将访问这些全局对象的能力传递给 child ?每个 child 都应该从静态 CRegistry 和 CStatistics 继承还是应用程序应该在创建时将 Registry 和 Statistics 传递给 child ?

谢谢。

最佳答案

从 CRegistry 继承似乎很奇怪 - 子对象不仅仅是专门的注册表,对吗?他们与注册表的交互只是为了注册自己,然后在注册表中找到,我想。同上统计数据。

在我看来,注册表和统计信息当然应该适本地传递(例如传递到构造函数中)。如果对象只需要注册并在以后找到,您甚至可能不需要将注册表保留为成员变量。

如果这真的是一个单一的全局注册表,那么它可能是使用单例模式的好时机 - 尽管根据我的经验,这往往会使测试变得更加困难。

或者,是否可以创建对象来注册它们?这真的应该是子对象的工作吗?

关于c++ - "Inherit not, contain"或 "inherit, not contain",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/468388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com