【发布时间】:2020-06-27 21:54:33
【问题描述】:
template <unsigned N>
class A {
void common_function();
};
template <>
class A<1> {
void new_functionality();
};
我希望 A<1> 类从 A 类继承 common_function()。
如果您需要为类的部分特化添加一些功能,但又不想重复常用方法,这将非常有用。
【问题讨论】:
-
你可以从基类继承东西。
-
@user253751 我不能从 A 继承 A,因为 A 是一个模板类。另一方面,我也不能从基类继承 A 和 A,因为在常用函数中我想使用模板参数 N.
-
相关(但不重复):stackoverflow.com/questions/16765179
-
@RomanovSaveliy 正确!所以你需要创建一个基类。而且因为要使用模板参数 N,所以基类必须是模板。
标签: c++ class templates methods