假設我們有下面的類層次結構:請在C++中未知的具體類型的副本
class Base {
...
};
class Derived1 : public Base {
...
};
class Derived2 : public Base {
...
};
給定一個Base*
這可能指向任何一個Derived1
或Derived2
對象我怎樣才能使實際的副本對象,因爲它的具體類型是未知的。我想過定義拷貝構造函數,但我不認爲這是可能的,因爲不知道涉及的實際類型。我能想到的唯一解決方案是在層次結構中的每種類型上定義clone()
方法。任何人都能想到更優雅的東西嗎?
我想你是指Base * obj1,* obj2 ;. =] – strager 2009-01-27 02:09:36
好抓手! – 2009-02-04 06:07:01