Я хочу хранить несколько животных в векторе. Животные могут быть кошками или собаками. Позже я хочу вернуть кошек и собак из вектора. Могу ли я использовать литье типов здесь?Преобразование типа в C++
например.
class Animal{
string name;
void makeSound();
}
class Dog:public Animal{
string owner;
void makeSound(){
cout << "Woof";
}
class Cat:public Animal{
string home;
void makeSound(){
cout << "Mew";
}
в основной программе.
vector<Animal> list;
Cat c = Cat();
list.push_back(c);
Cat cat = (Cat)list.at(0); // how can I do this
PS:
Это не точный код с синтаксисом. Но мне нужно сделать что-то подобное.
Вы действительно ничего подобного не нужно. Если вы хотите кошек и собак, сделайте вектор кошек и вектор собак. –
У вас есть проблема нарезки с 'vector'. –
Jarod42
Jarod42, Мне нравится изображение проблемы с резкой животных! Не говорите PETA! – Persixty