в) выяснить, какие детали имеются в наибольшем количестве,
какие — в наименьшем;
г) вывести информацию о наличии на складе деталей данного
типа и их количестве;
д) внести изменения в файл после выдачи со склада определен-
ного количества данного вида деталей. Если какой-то тип деталей
полностью выбран со склада, то уничтожить запись о ней в файле.
4.14. Объектно-ориентированное программирование в Си++
Основным отличием языка Си++ от Си является наличие в
нем средств объектно-ориентированного программирования (ООП).
Часто в литературе язык Си++ определяют именно как язык объек-
тно-ориентированного программирования. Ранее в разд. 3.23 мы
уже обсуждали основные понятия и приемы ООП на примере Турбо
Паскаля. Для Си++ базовые понятия ООП, естественно, остают-
ся теми же: это инкапсуляция, наследование и
полиморфизм.
Реали-
зация ООП на Си++ несколько более гибкая, чем в Турбо Паска-
ле.
Существуют определенные терминологические отличия. Пер-
вое такое отличие заключается в следующем: вместо понятия
«объектный тип данных», применяемого в Турбо Паскале, в Си++
используется понятие «класс».
Класс — это структурированный тип, включающий в себя в ка-
честве элементов типизированные данные и функции, применяемые
по
отношению
к этим
данным.
Таким образом, инкапсуляция (объе-
динение параметров и методов) заложена в составе элементов
класса: типизированные данные — это параметры, а методы реа-
лизованы через функции.
Тип «класс» устанавливается для
объектов.
Принято говорить:
однотипные объекты принадлежат одному классу.
Синтаксис объявления класса подобен синтаксису объявления
структуры. Объявление начинается с ключевого слова class, за
которым следует имя класса.
В
простейшем случае объявление класса
имеет следующий формат:
class имя
{ тип1 переменная1
тип2 переменная2
public:
функция1;
функция2;
};
Основное отличие класса от структур состоит в том, что все
члены класса по умолчанию считаются закрытыми и доступ к ним
250