Форум программистов, компьютерный форум CyberForum.ru

Смысл использования полиморфизма - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск максимума и локальных минимумов в массиве http://www.cyberforum.ru/cpp-beginners/thread1746132.html
Помогите решить задачу, пожалуйста В массиве х, из n эл-ов, найти: Максимум(значение и номер). Два последовательных минимума.
C++ Работа с текстовым файлом (запись/чтение) Здравствуйте, дорогие форумчане! Задали сделать программу, которая должна создавать файл, а потом совершать его чтение. Само задание : "Чемпионат города по футболу проводится по 2 группам: сильная (8 команд) и слабая (8 команд). Замещение мест в сильной группе проводится по результатам переходного турнира, в котором участвуют 3 худших команды из сильной группы и 3 лучших из слабой. Составить... http://www.cyberforum.ru/cpp-beginners/thread1746072.html
C++ В массиве определить первый положительный элемент и произведение последующих
Выходные данные : целочисленный массив В размером kn , где k = 4, n = 5 Определить номер первого положительного элемента и произведение следующих элементов
Одновременное нажатие на несколько кнопок при выводе ответа в MessageBox C++/CLI WinForms
В форме есть TextBox и 3 кнопки - "x^3", "x^6", "x^9". Нужно, чтоб ответы выводились в MessageBox так, чтобы можно было одновременно нажимать на несколько кнопок. Помогите, пожалуйста :)
C++ Чтение из файла определенного поля без записи в буфер предыдущих полей http://www.cyberforum.ru/cpp-beginners/thread1745989.html
как на чистом си считать конкретное поле при этом не заводить переменные. формат такой: %d %s %c %d ..... если использовать fscanf(file,"%d", ЗДЕСЬ мы не указываем переменную куда пишется считанное число), то падает с segfault. переменная обязательно нужна, иначе не работает. Я не хочу заводить лишние переменные, а просто хочу считать результат 4 поля. то есть последней %d. fseek не...
C++ Переставить строки матрицы так, чтобы суммы элементов строк были расположены в порядке их возрастания Задать двумерный массив размерами m и n. Обработать массив согласно заданию, вывести на печать исходный и обработанный массивы. «m=4,n=5.Переставить строки массива так, чтобы сумма элементов строк были расположены в порядке их возрастания. подробнее

Показать сообщение отдельно
AlexVRud
413 / 142 / 36
Регистрация: 04.07.2014
Сообщений: 413
26.05.2016, 15:26     Смысл использования полиморфизма
Dobbyman, Плохой пример выбрал.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <string>
#include <vector>
 
class Animal {
public:
  virtual ~Animal() = default;
  virtual std::string talk() = 0;
};
 
class Cat : public Animal {
public:
  virtual ~Cat() = default;
  virtual std::string talk() override
  {
    return "Meow!";
  };
};
 
class Dog : public Animal {
public:
  virtual ~Dog() = default;
  virtual std::string talk() override
  {
    return "Woof!";
  };
};
 
int main()
{
  std::vector<Animal *> animals;
  animals.push_back(new Cat());
  animals.push_back(new Dog());
  animals.push_back(new Cat());
 
  for (size_t i = 0; i < animals.size(); ++i) {
    std::cout << i << ": " << animals[i]->talk() << std::endl;
  }
 
  for (size_t i = 0; i < animals.size(); ++i) {
    delete animals[i];
  }
 
  return 0;
}
Результат:
Код
0: Meow!
1: Woof!
2: Meow!
 
Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru