- •Структура дисциплины
- •Процедурное программирование
- •Объектно-ориентированное программирование
- •Обобщенное программирование
- •На пути к объектно-ориентированному программированию
- •Абстракция сущностей и процедурный язык программирования
- •Абстрактный тип данных
- •Организация класса
- •Определение и объявление класса
- •Члены класса
- •Маркеры доступа
- •Конструкторы
- •Понятие об объекте
- •Организация кода при работе с классами
- •Статические компоненты класса
- •Конструкторы. Детальное рассмотрение
- •Функции getter и setter
- •Виды отношений между классами
- •Отношение зависимость
- •Отношение целое / часть
- •Разработка класса b_1.
- •Конструктор умолчания.
- •Конструктор с параметрами
- •Конструктор копирования.
- •Деструктор
- •Реализация класса b_2_1.
- •Дружественные функции и дружественные классы
- •Особенности применения дружественных функций и классов
- •Перегрузка оператров
- •Перегрузка оператора присваивания
- •Реализация перегруженного оператора присваивания для класса Array
- •Перегрузка оператора индексирования
- •Понятие о константной функции
- •Константный вариант перегруженного оператора индексирования
- •Вычисление смешанных выражений
- •Наследование
- •Структура объекта порожденного класса
- •Доступ к элементам базового класса
- •Конструкторы порожденного класса
- •Порядок создания объекта порожденного класса
- •Перегруженный оператор присваивания порожденного класса
- •Вызов виртуальной функции из тела невиртуальной функции
- •Виртуализация функций не-членов класса
- •Идиома невиртуального интерфейса (nvi)
- •Реализация механизма виртуальных функций
- •Накладные расходы при работе с виртуальными функциями
- •Чисто виртуальные функции. Абстрактные базовые классы
- •Виртуальные деструкторы
- •Автономные и базовые классы
- •Чисто виртуальный деструктор
- •Дублирование подобъектов
- •Конструкторы при виртуальном наследовании
- •Работа с данными при виртуальном наследовании
- •Обработка исключительных ситуаций
- •Завершение или продолжение
- •Распределение обязанностей между разработчиком и клиентом
- •Генерация исключений
- •Объект исключения
- •Раскрутка стека
- •Спецификации исключений
- •Работа с обработчиками
- •Формат обработчика
- •Пример обработки исключений
- •Современная точка зрения на спецификации исключения
- •Шаблоны функций
- •Объявление и определение шаблона функции
- •Примеры объявлений и определений шаблонов функций
- •Инстанцирование шаблона функции
- •Неявное инстанцирование
- •Явное инстанцирование конкретной функции
- •Структура использования шаблона функции с явным инстанцированием
- •Перегрузка шаблона функции
- •Явная специализация шаблона функции
- •Шаблоны классов
- •Использование шаблона класса
- •Наследование и шаблоны
- •Шаблоны классов и отношение включения
- •Рекурсивное использование шаблонов классов
- •Друзья и шаблоны классов
- •Явная и частичная специализация шаблона класса
- •Алгоритмы
- •Алгоритм for_each
- •Функциональные объекты
- •Алгоритм copy
- •Алгоритм sort
- •Термины и определения
- •.Литература
.Литература
-
Аммерааль Л. STL для программистов на С++. – М. ДМК, 2000. – 240с.
-
Ахо, Альфред, Хопкрофт, Джон, Ульман, Джеффри, Д. Структуры данных и алгоритмы.: Пер. с англ.: уч. Пос. – М.: Издательский дом «Вильямс», 2000. – 384 с.
-
Бадд Т. Объектно-ориентированное программирование в действии/Пер. с англ. - СПб., Питер. -464с.
-
Бланшет Жасмин, Саммерфилд Марк. QT4: программирование GUI на С++. Пер. с англ. – М.: КУДИЦ-ПРЕСС, 2007. – 648с.
-
Вандевурд Д., Джосаттис Н., Шаблоны С++: справочник разработчика. : Пер. с англ. - М. : Издательский дом "Вильямс", 2003. - 544с.
-
Влассидес, Джон. Применение шаблонов проектирования. Дополнительные штрихи.: Пер. с англ. – М.: Издательский дом «Видьямс», 2003.- 144с.
-
Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориетированного проектирования. Паттерны проектирования. – СПб.: - Питер, 2001. – 368 с.
-
Гради Буч и др. Объектно-ориентированный анализ и проектирование с примерами приложений, 3-е изд. : Пер. с англ. – М. : ООО «И.Д. Вильямс», 2008. – 720с
-
Джосьютис Н., С++ Стандартная библиотека. Для профессионалов – СПб.: Питер, 2004. – 730с.
-
Дьюхэрст Стефан, Скользкие места С++. Как избежать проблем при проектировании и компиляции ваших программ. – М.: ДМК Пресс, 2006. – 264с.
-
Дьюхерст Стивен. С++. Священные знания. – Пер. с англ. – СПб.: Символ-Плюс, 2007, - 240с.
-
Земсков Ю. В. Qt 4 на примерах. – СПб.: БХВ-Петербург, 2008. – 608с.
-
Каррано Ф. М., Причард Д. Д. Абстракция данных и решение задач на C++. Стены и зеркала. - М.: Вильямс, 2003. - 847с.
-
Коплиен Дж. Программирование на С++. Классика CS. - СПб.: Питер,2005.-479с.
-
Коплиен Дж. Мультипарадигменное проектирование для С++. Библиотека программиста. - СПб. : Питер, - 2005. - 253 с
-
Ларсен, Крег. Применение UML 2.0 и шаблонов проектирования. Практическое руководство. 3-е издание.: Пер. с англ. – М.: ООО «И.Д. Вильямс» 2009. – 736 с.
-
Липпман, Стенли Б., Лажойе, Жоли, Му Барбара Э. Язык программирования С++. Вводный курс, 4-е изд. : Пер. с англ. – М. : ООО «И. Д. Вильямс», 2007. - 896с.
-
Лисков Б. Гатег Дж. Использование абстракций и спецификаций при разработке программ: Пер. с англ. – М.: - M.: Мир, 1989. – 424с.
-
Лишнер Р. С++. Справочник. – СПб.: Питер, 2005. – 907с.
-
Макконнел С. Совершенный класс. Мастер-класс / Пер. с англ. – М.: Издательско-торговый дои «Русская редакция»; СПб.: Питер, 2005. – 806 стр.
-
Мартин, Роберт С. Быстрая разработка программ: принципы, паттерны и практика.: Пер. с англ. – М: Издательский дом «Вильямс», 2004. – 752 с.
-
Мейер Бертран. Объектно-ориентированное конструирование программных систем / Пер. с англ. - М.: Издательско-торговый дом "Русская редакция", 2005. - 1232с.
-
Мейерс С. Наиболее эффективное использование С++. М.: ДМК, 2000. - 296с.
-
Мэйерс С. Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ.- М.: ДМК Пресс, 2006. – 300с.
-
Мейерс С. Эффективное использование STL. Библиотека программиста. – СПб.: Питер, 2002. – 224с.
-
Остерн М. Г. Обобщенное программирование и STL: Использование и наращивание стандартной библиотеки C++. Пер. с англ. - СПб.: Невский Диалект, 2004. - 544с.
-
Плаугер П., Степанов А., Ли М., Массер Д. STL – стандартная библиотека шаблонов С++: Пер. с англ. – СПб.: БХВ-Петербург, 2004. – 656с.
-
Прата Стивен. Язык программирования С++. Лекции и упражнения, 5-е изд. : Пер. с англ. – М. : ООО «И.Д. Вильямс», 2007. – 1184с.
-
Пышкин Е. В. Основные концепции и механизмы объектно-ориентированного программирования. – СПб.: БХВ-Петербург, 2005. – 640с.
-
Сатер Герб, Александреску Андрей. Стандарты программирования на С++. : Пер. с англ. - М. : Издательский дом "Вильямс", 2005. - 224с.
-
Сатер Герб. Новые сложные задачи на С++. : Пер. с англ. - М. : Издательский дом "Вильямс", 2005. - 272с.
-
Д. Р. Стефенс, К. Диггенс, Д. Турканс, Д. Когсуэлл. C++. Сборник рецептов. Пер. с англ. – М.: КУДИС-ПРЕСС, 2007. – 624с.
-
Страуструп Б. Язык программирования C++, третье издание. - СПб.: БИНОМ, 1999. - 991с.
-
Уайс Марк Ален. Организация структур данных и решение задач на С++.: Пер. с англ. – М: ЭКОМ Паблишерз, 2008. – 896с.
-
Уилсон М, С++: практический подход к решению проблем программирования / Пер. с англ. М.: КУДИЦ-ОБРАЗ, 2006, - 736с.
-
Уилсон М. Расширение библиотеки STL для С++. Наборы и итераторы: Пер. с англ. Слинкина А. А. – М.: ДМК Пресс, СПб. БХВ-Петербург, 2008. – 608с.
-
Чеботарев А. В. Библиотека Qt 4. Создание прикладных приложений в среде Linux. Профессиональная работа. – М.: Издательский дом «Вильямс», 2006, - 256с.
-
Шилдт Г. Искусство программирования на С++. – СПб.: БХВ-Петербург, 2005. – 496с.
-
Шилдт, Герберт. С++: методики программирования Шилдта.: Пер. с англ. – М. : ООО «И.Д. Вильямс», 2009. – 480с
-
Шлее М. Профессиональное программирование на С++.- СПб.: БХВ-Петербург, 2007, 880с.
-
Брюс Эккель, Философия С++, 2-ое изд., Введение в стандартный С++, Питер, 2004, 572с.
-
Брюс Эккель, Чак Эллисон, Философия С++, Практическое программирование, Питер, 2004, 608с.
-
Эллис М., Страуструп Б., Справочное руководство по языку программирования С++ с комментариями, -М.: Мир, 1992, 445с.
-
Эпиенс А., Принципы объектно-ориентированной разработки программ. 2-е изд. : Пер. с англ. – M.: Издательский дом «Вильямс», 2002. – 496с.