利用模板元声明模板类,实现不同函数的声明

 1 enum class Type : int {
 2     Undefined = 0,
 3     Item1     = 1,
 4     Item2     = 2,
 5     Item3     = 3
 6 };
 7 
 8 
 9 template <Type type = Type::Item3>
10 class XDevice;
11 
12 template <>
13 class XDevice<Type::Item1> {
14 public:
15     XDevice()  = default;
16     ~XDevice() = default;
17     void method1() {};
18 };
19 
20 template <>
21 class XDevice<Type::Item2> {
22 public:
23     XDevice()  = default;
24     ~XDevice() = default;
25     void method2() {};
26 };
27 
28 template <>
29 class XDevice<Type::Item3> {
30 public:
31     XDevice()  = default;
32     ~XDevice() = default;
33     void method3() {};
34 };

 

posted @ 2025-04-09 17:10  禅元天道  阅读(11)  评论(0)    收藏  举报