下面的方法對我的類Clone()
實現:實施克隆()在基類
MyClass^ Clone(){
return gcnew MyClass(this->member1, this->member2);
}
現在,我擁有MyClass
派生約10班。每種情況下的實現都是相同的。由於我需要在每種情況下調用gcnew
以及實際的類名,因此我需要創建10個幾乎相同的Clone()
實現。
有沒有辦法在基類中編寫一個單一的Clone()
方法,它將服務於所有10個派生類?
編輯:有沒有辦法通過它的一個對象調用類的構造函數?以某種方式調用實際的派生類構造函數。例如:
MyClass ^obj2 = obj1->Class->Construct(arg1, arg2);
我在C++/CLI上這樣做,但歡迎來自其他語言的答案。