|
|||
Теоретические сведения. Задание к работе. Варианты заданий. Контрольные вопросы. Теоретические сведенияТеоретические сведения Задание к работе Варианты заданий Контрольные вопросы
Цель работы – изучить основные способы работы с пользовательским типом данных «класс», его объектами, методами и способы доступа к ним.
Теоретические сведения Основное отличие С++ от С состоит в том, что в С++ имеются классы. С точки зрения языка С классы в С++ - это структуры, в которых вместе с данными определяются функции. Это и есть инкапсуляция в терминах ООП. Класс (class) - это тип, определяемый пользователем, включающий в себя данные и функции, называемые методами или функциями-членами класса. Данные класса - это то, что класс знает. Функции-члены (методы) класса - это то, что класс делает. Таким образом, определение типа задаваемого пользователем (class) содержит спецификацию данных, требующихся для представления объекта этого типа, и набор операций (функций) для работы с подобными объектами. Объявление класса Приведем пример объявления класса class my_Fun Обычно описания классов включают в заголовочные файлы (*. H), а реализацию функций-членов классов - в файлы *. CPP. Для каждого объекта класса устанавливается область видимости либо явно – указанием уровня доступа одним из ключевых слов public, private, protected с двоеточием, либо неявно – по умолчанию. Указание области видимости относится ко всем последующим объектам класса, пока не встретится указание другой области видимости. Область видимости public разрешает доступ к объектам класса из любой части программы, в которой известен этот объект (общедоступный). Область видимости private разрешает доступ к объектам класса только из методов этого класса. Объекты с такой областью видимости называют частными. Область видимости protected определяется для защищенных объектов, она имеет смысл только в иерархической системе классов и разрешает доступ к объектам этой области из методов производных классов. В теле класса ключевое слово области видимости может использоваться неоднократно. Область видимости для объектов типа «класс» по умолчанию private. Способы объявления и инициализации объектов и доступ к методам класса: 1. Прямой вызов my_Fun Fun1; //объявление объекта1, но не инициализация 2. Косвенный вызов my_Fun *p1 = & Fun1; // воспользовались объектом 1 3. Динамическое выделение памяти my_Fun *p1 = new my_Fun; // удаляется динамически выделенный объект
|
|||
|