Hier ist eine Clone()
Implementierung für meine Klasse:Implementieren Clone() -Methode in der Basisklasse
MyClass^ Clone(){
return gcnew MyClass(this->member1, this->member2);
}
Jetzt habe ich etwa 10 von MyClass
abgeleiteten Klassen. Die Implementierung ist in jedem Fall gleich. Aufgrund der Tatsache, dass ich gcnew
mit dem tatsächlichen Klassennamen in jedem Fall aufrufen muss, muss ich 10 nahezu identische Implementierungen von Clone()
erstellen.
Gibt es eine Möglichkeit, eine einzige Clone()
-Methode in der Basisklasse zu schreiben, die alle 10 abgeleiteten Klassen bedient?
Bearbeiten: Gibt es eine Möglichkeit, den Konstruktor einer Klasse über eines seiner Objekte aufzurufen? In einer Weise, die den tatsächlichen abgeleiteten Klassenkonstruktor aufruft. Etwas wie:
MyClass ^obj2 = obj1->Class->Construct(arg1, arg2);
Ich tue dies auf C++/CLI aber Antworten aus anderen Sprachen sind willkommen.