Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTVETY_K_EKZAMENU_PO_OOP.doc
Скачиваний:
10
Добавлен:
01.07.2025
Размер:
239.62 Кб
Скачать

11. Ссылки.

0перация & означает ссылку, если она используется в контексте: type &varibleName=Init;

variableName - ссылка на тип. 0на определяет местоположение в памяти инициализирующего выражения Init. Ссылка - это псевдоним или альтернативное имя переменой. Ссылку можно считать неизменяемым указателем, кот заранее разыменован. Пример: int y=16; int &х=у; printf("x=%d\n",x); у=12; printf("x=%d\n",x); Рез-т работы: х=16, х=12. Сылочная переменая х определяет местоположение в памяти переменой у в инициализирующем выражении int &x=y. Переменая х обрабатывается как нормальная переменая типа int. При обращении к такой переменой нет необходимости в операции снятие ссылки. Сылочная переменая должна быть при объявлении инициализирована. 0бъявление int &х; недопустимо. Ссылки часто исп-ются как формальные парамы в функциях. Это может быть полезно для создания функций, изменяющих полученые парамы.

12. Перегрузка функций.

Имена функций и операций могут быть перегружены в пределах одной и той же области видимости.

При определении функций в прогах надо указать тип возвращаемого функцией значения, а также кол-во парамов и тип каждого из них. Чтобы избежать дублирования функции, C++ позволяет определять несколько функций с одним и тем же именем. Предоставление компилятору выбора среди нескольких функций назется перегрузкой. Перегрузка функций предоставляет несколько "взглядов" на одну и ту же функцию внутри вашей проги. 1)Для перегрузки функций просто определите несколько функций с одним и тем же именем и типом возвращаемого значения, кот отличаются только кол-вом и типом парамов. 2)В процесе компиляции C++ определит, какую функцию следует вызвать, основываясь на порядке следования парам-ов, их кол-ве и типе. 3)Перегрузка функций упрощает прог-ние, позволяя прог-истам работать только с одним именем функции.

13. Классы и объекты.

В 00П все или большинство даных расматриваются как активные объекты, обладающие всем множвом операций (методов) своего класса. Главное, чтобы прог-ист составлял прогу в терминах взаимодействующих объектов и расматривал как активные эл-ты имено объекты, а не использующие их процедуры и функции. Класс объектов— это образец, из которого создаются объекты с указаными св-вами. 0бъекты одного класса имеют одну и ту же структуру и обладают одними и теми же операциями и вследствие этого — одним и тем же поведением. 0бычно определение класса состоит из интерфейса и тела. В интерфейсе перечисляются сигнатуры операций (т.е. имена операций и типы их парамов и рез-тов), доступных клиентам этого класса. В теле класса содержатся реализации операций, перечисленых в интерфейсе. Кроме того, тело класса содержит внутрение переменые, или атрибуты, кот задают структуру объекта и отображают его состояние. Таким образом, определение класса задает програмную структуру, в которой даные и операции представляют единое целое и отражают св-ва и поведение этого целого в рамках моделируемой предметной области. В класе объектов вводятся только те даные и операции, кот необходимы для описания св-в и поведения объектов этого класса. Классы объектов выделяются в процесе анализа предметной области с исп-нием идей абстрагирования от несущественых деталей и класификации родственых объектов. Класс объектов могут образовывать иер-ю, отражающую иер-ю понятий предметной области. Класс объектов характеризуется уникальным набором св-в и обозначается уникальным именем, как и любой тип даных. Создаваемые объекты даного класса различаются значениями (степенью проявления) своих св-в и снабжаются уникальными внутреними идентификаторами.