【发布时间】:2010-10-27 07:25:37
【问题描述】:
这是我班级的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 上执行此操作,但欢迎使用其他语言的答案。
【问题讨论】:
标签: oop constructor clone platform-agnostic