繁体   English   中英

通过C ++中的参数定义模板继承

[英]Defining template inheritance by the arguments in c++

我有一个采用参数T的多态模板MyClass。

template<class T>
class MyClass {...};

我想强制继承而不在每个已删除类中指定它,例如:

template<class T, class U : public T>
class MyClass<U> : public MyClass<T>;

有办法吗?

编辑:例如,如果我有

class Base {...};
class Derieved : public Base {...};

然后,如果编译器创建MyClass<Derieved>则它将添加

class MyClass<Derieved> : public MyClass<Base>

每次我在继承中使用MyClass时都没有指定它。

我希望能够使用任何参数创建MyClass,但是当参数继承自其他类时,模板也将继承。

您要自动检索对象的基类。 可悲的是,至少在C ++ 17之前,集成了编译时反射时才不可能实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM