1
让我们假设我有一个基类Base<T>
和很多Sub1<T>
,... SubN<T>
这是Base
子类。 Base
有某种成员函数foo
,并在foo
我需要创建一个新的实例。但是,我想总是从同一个孩子的模板创建新实例,但使用不同的模板参数(Sub1<T>::foo
- >Sub1<U>
,Sub2<T>::foo
- >Sub2<U>
,...)。从`this`的模板创建实例?
例如, Sub1<float> a; auto b = a.foo();
使b
再次将是一个新的Sub1<int>
(即使foo
只对超载Base
)。这甚至有可能吗?我将如何做到这一点?
你就需要有一个“克隆”的虚函数,并在每个派生类中重写它。 –
我也想到了这一点,但如果我可能需要更改模板参数,则不起作用。 – miho
你自相矛盾。你想要同一个班级吗? 'Sub1'和'Sub1 '是*完全不同的类。 –
Angew