C++枚举用作模板类型
时间: 2023-11-14 11:20:26 浏览: 37
C++中,枚举类型可以用作模板类型的参数。例如,我们可以定义一个枚举类型,将其用作模板参数,并根据不同的枚举值来实现不同的功能。
下面是一个简单的示例代码,演示了如何在模板中使用枚举类型:
```c++
#include <iostream>
enum FruitType {
APPLE,
BANANA,
ORANGE
};
template <FruitType T>
class Fruit {
public:
static void printType() {
std::cout << "This is a fruit of type " << T << std::endl;
}
};
int main() {
Fruit<APPLE>::printType();
Fruit<BANANA>::printType();
Fruit<ORANGE>::printType();
return 0;
}
```
在上面的代码中,我们定义了一个枚举类型`FruitType`,其中包含了三个枚举值:`APPLE`、`BANANA`和`ORANGE`。然后,我们定义了一个模板类`Fruit`,该模板类使用`FruitType`作为模板参数,并根据不同的枚举值实现了不同的功能。最后,在`main`函数中,我们分别使用不同的枚举值来实例化`Fruit`模板类,并调用其`printType`静态成员函数来输出不同的结果。
这是一个非常简单的示例,但是它展示了如何在模板中使用枚举类型。通过使用枚举类型作为模板参数,我们可以更加灵活地实现不同的功能。