Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Показать сообщение отдельно
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
26.05.2016, 17:17
Цитата Сообщение от Dobbyman Посмотреть сообщение
Это все замечательно, но почему? Каждый раз, чтобы это сделать, нужно создавать en1,en2 , хотя т.к. уже есть наследование, то методы доступны и через lo и na. Да, мы реализовали доступ через базовый класс. Но зачем?
Ну, чтобы это понять, нужно получше разобраться что такое открытое наследование. А это некоторая специализация базового класса, т.е. описание некоторого подмножества множества объектов базового класса.
Ну, к примеру, базовый класс у нас Станок. И у множества объектов-станков есть подмножество объектов - сверлильных станков. Для описания этого подмножества объявляем класс-наследник Сверлильный_станок. Базовый класс можно специализировать в наследнике просто добавляя новые члены (данные и функции), а можно специализировать поведение базовых функций-членов, это как раз и делается через механизм виртуальных функций.
Ну, допустим, вы отдаете всем объектам-станкам в цеху команду Обработать_деталь. С одной стороны, это базовая функция-член класса Станок, так как все станки должны обрабатывать детали. С другой - каждый станок обрабатывает деталь в соответствии со своей специализацией, - сверлильный - сверлит, токарный точит, и т.д.
Технически для этого нужно создать коллекцию указателей на базовый класс Станок, и поместить туда адреса всех объектов-станков. Тогда, чтобы каждый станок начал обрабатывать деталь, нужно всем станкам дать команду Обработать_деталь, и каждый выполнит ее в соответствии со своей специализацией.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.