Поиск типа объекта в C++?
Hej и :)
Как я могу определить тип класса конкретного объекта в c++ или как лучше всего узнать, какой тип объекта находится в моем массиве ?
Например, что делать, если я хочу установить новый возраст только для всех кошек, не зная, есть ли позиции(индекс) в массиве.
И, пожалуйста, напишите if-заявление или что-то еще, чтобы я мог лучше его понять.
Спасибо!
Что я уже пробовал:
//Базовый класс
класс животных
{
частный:
std:: имя строки;
инт возраста ;
общественный:
Animal (std:: string name = "Unknown", int age =0);
~Животное();
};
//производный класс
класс собака: общественное животное
{
общественный:
Dog (std:: string name = "Unknown", int age =0);
~Собака();
void setAge (int newAge) const;
};
//производный класс
класс кошка: общественное животное
{
общественный:
Cat(std:: string name = "Unknown", int age =0);
~Кошка();
void setAge (int newAge) const;
};
//в main.cpp
Животное *arr[5];
arr[i] = новый кот ("cat1", 11);
arr[i] = новая собака ("dog1", 12);
arr[i] = новая собака ("dog2", 13);
arr[i] = новая собака ("dog3", 14);
arr[i] = новый кот ("cat2", 15);