Рассмотрены основные концепции объектно-ориентированного, обобщенного и событийного программирования. В качестве языка программирования выбран язык С++. Подробно изложены принципы и механизмы работы с классами и объектами, в том числе наследование, перегрузка функций и операций, виртуальные функции, шаблоны функций и классов. Большое внимание уделено работе со стандартной библиотекой шаблонов, раздельной компиляции программ и применению компонентного и событийного подходов в разработке программных приложений.
Предназначено для студентов бакалавриата, обучающихся по направлениям подготовки 01.03.01 «Математика» и 01.03.02 «Прикладная математика и информатика».