class Animal{
public:
virtual string voice() = 0;
};
class Cat: public Animal {
public:
string voice(){return "Мяу!";}
};
class Dog: public Animal {
public:
string voice(){return "Гав!";}
};
void printVoice(Animal* animal){
cout << animal->voice(); //Здесь происходит полиморфизм.
}
int main()
{
Animal* animal1 = new Cat;
Animal* animal2 = new Dog;
printVoice(animal1);
printVoice(animal2);
delete animal1;
delete animal2;
}
вторник, 19 октября 2010 г.
21. Объясните принцип полиморфизма.
Неинтересный вопрос. В том смысле, что в двух словах не рассказать, а расписывать подробно не хочу. О полиморфизме и так много информации в книгах и интернете. Понравилось в Википедии: Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций». И от себя неплохой, как мне кажется, примерчик.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий
Можно использовать теги <b>, <i>