我想知道,如果它是可以做到多种类型的一个变量:可能性定义与基于宏观
class MyClass
{
public:
MyClass();
...
#if defined USE_TYPE_ONE
static TypeOne myVariable;
#else
static TypeTwo myVariable;
#endif USE_TYPE_ONE
};
的原因是,我有两个班,TypeOne & TypeTwo,与相同的函数变量,但不同的实现和 我不想在调用myVariable的每个地方使用宏。
编辑
感谢迅速的意见和答复。我不得不提及MyClass在不同的类中使用了很多。这就是为什么我想避免模板。因为即使使用具有默认模板参数类型的模板类,我也必须使用<>(更改许多其他地方)来使用MyClass而不需要TypeOne。
是的,这是可能的。在询问是否有可能之前,您应该尝试编译您的代码。 – mascoj
听起来像你需要一个[类模板](http://en.cppreference.com/w/cpp/language/class_template)。 –
@ChrisDrew这可能是正确的做法,除非他需要将MyClass存储在容器中。 – mascoj