Polimorfismo y vectores de C ++, que apuntan una clase derivada de vectores a una clase base de vectores
Diga: Apple se deriva de una clase base de frutas, luego hay una clase ApplePicker derivada de una clase base de FruitPicker.
La clase ApplePicker tienevector<Apple> appleList
, la clase recolector de frutas tiene un puntero a unvector<Fruit>
es decirvector<fruit>* fruitList
.
Necesito poder establecer el vector en este puntero, por lo que los métodos abstractos se pueden ejecutar en la clase de recolector de fruta (ya que solo están relacionados con los miembros de la fruta). Pero estoy teniendo problemas para configurar esto, cuando intenté hacer esto:
this->fruitList = &(this->AppleList);
Me da el errorcannot convert to vector<Apple> to vector<Fruit>
. Intenté el reparto estático y me dio el mismo error. Hice algo similar a una clase base no vectorial y una clase derivada y estaba bien.
Soy nuevo en C ++ y lo estoy usando en Android a través de NDK.
Entonces, lo que estoy tratando de hacer es imposible y tengo que usar un vector de indicadores comovector<Fruit*>
.