C ++ Полиморфизм и векторы, указывающие производный класс векторов на базовый класс векторов
Скажем: Apple является производным от базового класса Fruit, тогда есть класс ApplePicker, производный от базового класса FruitPicker.
Класс ApplePicker имеетvector<Apple> appleList
класс выбора фруктов имеет указатель наvector<Fruit>
то естьvector<fruit>* fruitList
.
Мне нужно иметь возможность установить вектор для этого указателя, чтобы абстрактные методы можно было запускать в классе сборщика фруктов (поскольку они касаются только членов фрукта). Но у меня возникают проблемы с установкой этого, когда я пытался сделать это:
this->fruitList = &(this->AppleList);
Это дает мне ошибкуcannot convert to vector<Apple> to vector<Fruit>
, Я попробовал статическое приведение, и это дало мне ту же ошибку. Я сделал то же самое с не векторным базовым классом и производным классом, и это было прекрасно.
Я новичок в C ++, и я использую его на Android через NDK.
То, что я пытаюсь сделать, невозможно, и я должен использовать вектор таких указателей, какvector<Fruit*>
.