Załóżmy, że mamy następujące klasy Hierarchia:Wykonaj kopię nieznanego typu betonu w C++
class Base {
...
};
class Derived1 : public Base {
...
};
class Derived2 : public Base {
...
};
otrzymał Base*
które mogłyby wskazywać albo Derived1
lub Derived2
przedmiot jak mogę zrobić kopię rzeczywista obiekt biorąc pod uwagę, że jego konkretny typ jest nieznany. Myślałem o zdefiniowaniu konstruktorów kopii, ale nie sądzę, aby było to możliwe bez znajomości faktycznych typów. Jedyne rozwiązanie, jakie mogę wymyślić to zdefiniowanie metody clone()
dla każdego typu w hierarchii. Czy ktokolwiek może pomyśleć o czymś bardziej eleganckim?
Myślę, że masz na myśli Base * obj1, * obj2 ;. =] – strager
Dobry chwytacz! –