
- •1. Понятие 00п. Причины появления 00п.
- •2. Инкапсуляция св-в объекта
- •3. Насл-е св-в
- •4. Полиморфизм поведенческих св-в объектов
- •5. Роль типов даных в яп
- •6. Этапы 00п.
- •8. Заголовочные файлы.
- •10. Константы, парамы по умолчанию.
- •11. Ссылки.
- •12. Перегрузка функций.
- •13. Классы и объекты.
- •14. Члены класса.
- •15. 0Писание класов.
- •16. Конст-ры, деструкторы.
- •17. Конст-р копирования, Конст-р присваивания.
- •18. Друзья класса.
- •19. 0Бъекты с автоматически распределяемой памятью.
- •20. 0Бъекты с динамически распределяемой памятью
- •21. Производные классы: одиночное насл-е.
- •22. Модификаторы доступа.
- •23. Переопределение функций в производном класе. Вирт-ые функции.
- •24. 0Ператор разрешения контекста.
- •25. Приведение типов объектов.
- •26. Абстр-ые классы. Чисто вирт-ые функции.
- •27. Множвеное насл-е. Сравнение множвеного насл-я с одиночным.
- •28. "Правильное" множвеное насл-е. Понятие интерфейса.
- •29. Парамизованые классы.
- •30. Парамизованые функции.
- •31. Перегрузка операций. Перегрузка унарных операторов.
- •32. Перегрузка операций. Перегрузка бинарных операторов.
- •33. Исключения и их обработка.
- •34. 0Бщая характеристика стандартной библиотеки шаблонов.
- •35. Ввод-вывод с исп-нием потоков stl.
- •46. Классы Control, ScrollableControl, ContainerControl.
- •47. Классы WinForms Application, Screen.
- •48. Классы-контейнеры List, ArrayList.
- •49. Классы Pen, Brush, Font, Graphics.
- •50. Класс Form.
- •51. Классы WinForms для реализации кнопок.
- •52. Классы WinForms для реализации строк редактирования.
- •53. Классы WinForms для реализации списков и выпадающих списков.
- •54. Классы WinForms для реализации меню и инструментальных панелей
- •55. Классы WinForms для реализации контейнеров управляющих элементов.
- •56. Методика работы с диалоговыми окнами.
- •57. Сериализация, десериализация.
- •58.Разработка компонентов.
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бычно определение класса состоит из интерфейса и тела. В интерфейсе перечисляются сигнатуры операций (т.е. имена операций и типы их парамов и рез-тов), доступных клиентам этого класса. В теле класса содержатся реализации операций, перечисленых в интерфейсе. Кроме того, тело класса содержит внутрение переменые, или атрибуты, кот задают структуру объекта и отображают его состояние. Таким образом, определение класса задает програмную структуру, в которой даные и операции представляют единое целое и отражают св-ва и поведение этого целого в рамках моделируемой предметной области. В класе объектов вводятся только те даные и операции, кот необходимы для описания св-в и поведения объектов этого класса. Классы объектов выделяются в процесе анализа предметной области с исп-нием идей абстрагирования от несущественых деталей и класификации родственых объектов. Класс объектов могут образовывать иер-ю, отражающую иер-ю понятий предметной области. Класс объектов характеризуется уникальным набором св-в и обозначается уникальным именем, как и любой тип даных. Создаваемые объекты даного класса различаются значениями (степенью проявления) своих св-в и снабжаются уникальными внутреними идентификаторами.