Вот реализация Clone()
для моего класса:
MyClass^ Clone(){
return gcnew MyClass(this->member1, this->member2);
}
Теперь у меня есть около 10 классов, полученных из MyClass
. Реализация одинакова в каждом случае. В связи с тем, что мне нужно вызывать gcnew
с фактическим именем класса в каждом случае, мне необходимо создать 10 практически идентичных реализаций Clone()
.
Есть ли способ написать один базовый Clone()
метод в базовом классе, который будет обслуживать все 10 производных классов?
Редактировать: Есть ли способ вызвать конструктор класса через один из его объектов? Таким образом, будет вызываться фактический конструктор производного класса. Что-то вроде:
MyClass ^obj2 = obj1->Class->Construct(arg1, arg2);
Я делаю это на C ++ / CLI, но приветствуются ответы на других языках.