std::vector<Inherited*>
und std::vector<abstract*>
sind verschieden und ziemlich unzusammenhängend. Du kannst nicht von einem zum anderen werfen. Aber Sie können std::copy
oder Iterator-Bereichskonstruktor verwenden, wie @Grozz sagt.
Beantworten Sie Ihre Frage in den Kommentaren: Sie unterscheiden sich in der gleichen Weise, in der zwei Klassen mit Mitgliedern kompatibler Typen unterschiedlich sind. Beispiel:
%Vor%Damit die letzte Anweisung funktioniert, müssen Sie einen expliziten Zuweisungsoperator definieren wie:
%Vor%Ich hoffe, dies macht es klar.
Tags und Links c++ vector casting polymorphism