【发布时间】:2015-05-25 13:44:59
【问题描述】:
我有 3 个课程:
class A
{
//
};
class B
{
//
};
class C
{
//
};
如何定义类型等于此类之一的变量 q 并使其成为全局变量?
- 我只需要一个实例,而且只需要一次。
- 所有这些类都有方法 set() 和 search(),它们对每个类都有不同的作用。
- 我从命令行获得了“a”的值。
例如,我将这样定义它,q 不会是全局的。
if (a == 1) {
A q;
} else
if (a == 2) {
B q;
} else
if (a == 3) {
C q;
} else
【问题讨论】:
-
在这种情况下,您需要预处理器 (
#ifdef),或者使用接口和引用(因为A、B和C目前不相关.. -
您能否edit your question please,更具体地了解您的实际用例?您在运行时是否只需要这些全局实例之一?更多,但仅限于特定类型?这些类是否通过声明的成员函数和变量完全不同?请先明确您的要求。
-
请查看我的回答。如果您确实不需要您请求的此功能的任何运行时配置支持,它可能会有所帮助。
-
最后,您应该清楚这一点,如果您需要在编译时或运行时做出决定或
A、B或C。
标签: c++ class types scope definition