【发布时间】:2013-01-28 22:41:57
【问题描述】:
我有一个新手 C++ 问题,对此感到抱歉...
在 C++ 中,如果我在基类中有实例变量,则所有派生实例都会获得它们自己的基实例变量的个人副本。
现在,如果我有一个低音类的类变量(静态成员),那么所有派生实例都可以共享基类变量。
我希望能够创建一个基变量,该基变量由派生类的每个实例实例化,而不是由这些派生类的派生类实例实例化。
这可能吗?我该怎么做?或者做这种事情的最佳方法(解决方法)是什么?
所以举一个(坏的)例子:
假设我有类 A,它有派生类 B、C 和 D。 我也有 P 类,它有派生类 Q、R、S。
现在,我有一个配置器类。它有许多依赖于 Configurator 类的实例变量的奇特函数。我喜欢 A 和 P 从 Configurator 类派生,该类存储 A 和 P 的单独配置。这样 B、C、D 共享一个公共配置,而 Q、R、S 共享它们自己的单独配置。
但是,Configurator 类将根据其编写方式为 B、C、D 和 Q、R、S 创建单独的配置实例。
因此,无论如何,让 Configurator 类包含由派生类而不是每个实例实例化的成员变量会很好。
谢谢!
【问题讨论】:
标签: c++ instance static-members