Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpori_TP / 21-30.doc
Скачиваний:
27
Добавлен:
12.12.2013
Размер:
98.3 Кб
Скачать

Перегрузка операций.

В языке С++ для перегрузки операций используется ключевое слово operator, с помощью которого определяется специальная операция-функция (operator function).

Формат операции-функции:

тип_возвр_значения operator знак_операции (специф_параметров)

Операции, не допускающие перегрузки.В С++ существует несколько операций, не допускающих перегрузки:

. прямой выбор члена объекта класса;

.* обращение к члену через указатель на него;

?: условная операция;

:: операция указания области видимости;

sizeof операция вычисления размера в байтах;

# препроцессорная операция.

25.Объектно-ориентированные средства. Основные виды класса. Доступ к базовым и производным классам. Друзья классов. Абстрактные классы.

Visual C++ - это самое эффективное и высокопродуктивное средство разработки на языке C++ для Windows и Web. Visual C++ 6.0 выводит C++ на новый уровень производительности без потери гибкости, быстродействия и контроля. Она включает в себя: текстовый редактор, компилятор или интерпретатор языка прогр., может включать различные редакторы ресурсов, средства отладки и др.

Основные виды класса:

  1. Абстрактный класс.

  2. Базовый класс (родитель)

  3. Производный класс (наследник)

  4. Виртуальный класс (Применяется при множественном наследовании)

  5. Дружественный класс

Доступ к базовым и производным классам.

. прямой выбор члена объекта класса;

-> доступ через указатель на класс

Функции-друзья. Иногда требуются исключения из правил доступа, когда некоторой функции или классу требуется разрешить доступ к личной части объекта класса. Тогда в определении класса, к объектам которого разрешается такой доступ, должно быть объявление функции или другого класса как "дружественных". Это согласуется с тем принципом, что сам класс определяет права доступа к своим объектам "со стороны".

Объявление дружественной функции представляет собой прототип функции, объявление переопределяемой операции или имя класса, которым разрешается доступ, с ключевым словом friendвпереди.

Абстрактные классы. Абстрактным классом называется класс, в котором есть хотя бы одна чистая (пустая) виртуальная функция.Чистой виртуальной называется компонентная функция, которая имеет следующее определение:

virtual тип имя_функции (список_формальных_параметров) = 0;

Чистая виртуальная функция «ничего не делает» и недоступна для вызовов. Ее назначение - служить основой для подменяющих ее функций в производных классах. Исходя из этого становится понятной невозможность создания самостоятельных объектов абстрактного класса. Абстрактный класс может использоваться только в качестве базового для производных классов. При создании объектов такого производного класса в качестве подобъектов создаются объекты базового абстрактного класса.

26. Объектно-ориентированные средства. Потоки. Основные понятия и определения. Классы потоков и библиотеки. Вывод-ввод потоком. Основные манипуляторы и применение их. Потоки для работы с файлами. Простой ввод-вывод в файл.

Visual C++ - это самое эффективное и высокопродуктивное средство разработки на языке C++ для Windows и Web. Visual C++ 6.0 выводит C++ на новый уровень производительности без потери гибкости, быстродействия и контроля. Она включает в себя: текстовый редактор, компилятор или интерпретатор языка прогр., может включать различные редакторы ресурсов, средства отладки и др.

В Си++ существуют классы потоков ввода-вывода (stream.h), которые являются объектно-ориентированным эквивалентом стандартной библиотеки ввода-вывода

ios базовый потоковый класс

streambuf буферизация потоков

istream потоки ввода

ostream потоки вывода

iostream двунаправленные потоки

istrstream строковые потоки ввода

ostrstream строковые потоки вывода

strstream двунаправленные строковые потоки

ifstream файловые потоки ввода

ofstream файловые потоки вывода

fstream двунаправленные файловые потоки

Следующие объекты-потоки заранее определены и открыты в программе

cin; // Стандартный поток ввода с клавиатуры

cout; // Стандартный поток вывода на экран

cerr; // Стандартный поток вывода сообщений об ошибках (экран)

Соседние файлы в папке Shpori_TP