- •Препроцессор. Директивы препроцессора.
- •Описание, определение и вызов функций. Параметры по умолчанию. Встроенные функции.
- •Особенности работы с указателями разных типов в языке с.
- •Модели памяти. Функции работы с динамической памятью.
- •Шаблоны функций. Перегружаемые функции.
- •Организация ввода-вывода.
- •Разработка надежного программного обеспечения. Обработка исключительных ситуаций.
- •13. Особенности программирования для ос Windows.
- •14. Библиотека динамической компоновки. Области применения. Разработка и использование dll-библиотек.
- •15. Объектно-ориентированное программирование. Классы. Определение спецификации доступа.
- •16. Объектно-ориентированное программирование. Полиморфизм.
- •17. Ооп. Наследование. Области видимости для классов.
- •18. Ооп. Классы. Дружественные функции.
- •19. Понятие компоненты. Типы компонент. Свойства. Контейнерные компоненты.
- •20. Организация процесса конструирования по. Типы по. Стратегии конструирования.
- •21. Понятие жизненного цикла. Модели жизненного цикла.
- •22. Особенности процесса синтеза программных систем.
- •23. Разработка структуры программы. Модульное программирование. Критерии оценки программ.
- •24. Проектирование программ. Методы нисходящего и восходящего проектирования.
- •27. Классические методы анализа проектирования. Метод Джексона.
- •28. Структурные методы проектирования. Sadt.
- •29. Структурные методы проектирования программных систем. Использование dfd и er диаграмм.
- •30. Case-системы. Классификация.
- •31. Методы контроля и тестирования по. Статический и динамический контроль. Функциональное тестирование.
- •32. Методы контроля и тестирования по. Структурное тестирование. Многомодульное тестирование.
- •33. Разработка интерфейса пользователя. Структуры диалога. Критерии выбора структуры диалога.
- •34. Разработка интерфейса пользователя. Описание диалога. Использование сетей переходов для представления структуры диалога. Правила свёртки сети переходов.
- •40. Критерии оценки качества по. Документирование и оценка качества в соответствии с iso 9000.
- •41. Основные понятия сом-технологии.
15. Объектно-ориентированное программирование. Классы. Определение спецификации доступа.
ООП – методология, основанная на представлении программы в виде совокупности объектов, каждый из которых является реализацией определённого класса. Классы образуют иерархию на принципах наследования.
Класс – абстракция, определяющая наиболее общие свойства однотипных объектов.
Объект – реализация класса, имеющая определённые значения основных свойств.
ООП базируется на 3 основных принципах: инкапсуляция, наследование, полиморфизм.
Инкапсуляция – представление взаимосвязанного набора данных и операций над этими данными в рамках отдельного типа, т.е. инкапсуляция есть сокрытие данных с ограничением доступа к ним.
Для реализации инкапсуляции в С++ введён тип class, в соответствии с которым данные класса и функции класса (член-данные и член-функции) могут быть распределены по 3 областям видимости:
Private – член-данные и член-функции, принадлежащие структуре, доступны только член-функциям текущего класса.
Protected – член-данные и член-функции, включённые в состав структуры, доступны член-функциям текущего класса и его прямым наследникам. Для последующих порождений они являются скрытыми.
Public - член-данные и член-функции, включённые в состав структуры, доступны член-функциям других классов и в любой точке программы, где имеется представитель класса через имя объекта.
По умолчанию все члены класса в области видимости private. Считается, что лучше все член-данные определить как скрытые, т.к. при это обеспечивается: защита от несанкционированного доступа к данным или от изменения их; при необходимости корректировки член-данного в определении класса требуется произвести изменение только в соответствующей член-функции.
16. Объектно-ориентированное программирование. Полиморфизм.
ООП – методология, основанная на представлении программы в виде совокупности объектов, каждый из которых является реализацией определённого класса. Классы образуют иерархию на принципах наследования.
Класс – абстракция, определяющая наиболее общие свойства однотипных объектов.
Объект – реализация класса, имеющая определённые значения основных свойств.
ООП базируется на 3 основных принципах: инкапсуляция, наследование, полиморфизм.
Если один и тот же объект может по-разному использоваться в зависимости от обстоятельств, то он обладает полиморфизмом.
Одной из форм полиморфизма является использование виртуальных функций. Для того, чтобы объявить функцию виртуальной, перед ней добавляется ключевое слово virtual. В случае использования виртуальных функций вызов её происходит на этапе выполнения. Виртуальные функции должны иметь аргументы одного типа.
Виртуальная функция может быть определена в рамках абстрактного класса; в этом случае функция должна быть объявлена как чистая.
Virtual void A( )=0
Класс, имеющий в своём составе чистые виртуальные функции, называется абстрактным.
Следует помнить, что при объявлении виртуальной функции:
если в базовом классе впервые объявляется виртуальная функция, то она должна быть чистой или в ней должны быть объявления.
Если в родительском классе объявлена чистая виртуальная функция, то в порождённом она должна быть либо определена, либо вновь объявлена чистой.
Если в базовом классе задано определение виртуальной функции, то в порождённом должно быть либо собственное определение этой функции, либо будет использована функция класса родителя.
Вызов виртуальной функции не является виртуальным, если:
функция вызывается через указатель или ссылку.
функция вызывается через указатель или ссылку, но с уточнением имени класса
виртуальная функция вызывается в конструкторе порождённого класса.
