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