Information

В систематизированном виде излагаются основные понятия и описываются возможности языка C++. При этом основное внимание уделяется объяснению того, как теми или иными возможностями пользоваться.
Язык программирования C++ – это универсальный язык программирования, который позволяет разрабатывать программы в соответствии с разными парадигмами: процедурным программированием, объектно-ориентированным, параметрическим. В данном курсе рассматриваются все основные возможности языка C++ и их применение при разработке объектно-ориентированных программ. Дается краткое описание библиотек языка C++, необходимых для создания типичных программ.
Goal: Для программистов, начинающих изучать объектно-ориентированное программирование и язык C++.
Необходимые знания: Основные понятия программирования, основы объектно-ориентированного программирования.

План занятий

LessonTitle <<Date
-
Lecture 1
21 minute
Начальные сведения о языке
История создания языка и его эволюция. Международный стандарт языка. Сферы применения языка Си++. Пример простой программы. Объясняется процесс ее написания, использования простейших конструкций языка, использования транслятора и запуск программы на выполнение.
Contents
    -
    Тест 1
    24 minutes
    -
    Lecture 2
    15 minutes
    Имена, переменные и константы
    Правила именования переменных и функций языка, правила записи констант. Понятие ключевого или зарезервированного слова, список ключевых слов Си++.
    Contents
      -
      Тест 2
      24 minutes
      -
      Lecture 3
      27 minutes
      Операции и выражения
      Правила формирования и вычисления выражений в языке Си++. Все операции языка.
      Contents
        -
        Тест 3
        24 minutes
        -
        Lecture 4
        18 minutes
        Операторы
        Описываются все операторы управления, имеющиеся в языке Си++, даются примеры их использования.
        Contents
          -
          Тест 4
          24 minutes
          -
          Lecture 5
          18 minutes
          Функции
          Функции – это основные единицы построения программ при процедурном программировании на языке Си++. Правила их записи, вызова и передачи параметров.
          Contents
            -
            Тест 5
            24 minutes
            -
            Lecture 6
            36 minutes
            Встроенные типы данных
            Рассматриваются все встроенные типы языка Си++: целые числа разной разрядности, вещественные числа, логические величины, перечисляемые значения, символы и их кодировка.
            Contents
              -
              Тест 6
              21 minute
              -
              Lecture 7
              15 minutes
              Классы и объекты
              Способы описания классов. Создание объектов. Обращение к атрибутам и методам объектов.
              Contents
                -
                Тест 7
                24 minutes
                -
                Lecture 8
                46 minutes
                Производные типы данных
                Создание и использование массивов, структур, объединений, указателей. Адресная арифметика. Строки и литералы.
                Contents
                  -
                  Тест 8
                  21 minute
                  -
                  Lecture 9
                  32 minutes
                  Распределение памяти
                  Проблемы при явном распределении памяти в Си++, способы их решения. Ссылки и указатели. Распределение памяти под переменные, управление памятью с помощью переопределения операторов new и delete.
                  Contents
                    -
                    Тест 9
                    24 minutes
                    -
                    Lecture 10
                    41 minute
                    Производные классы, наследование
                    Наследование, виды наследования. Виртуальные методы. Абстрактные классы. Множественное наследование.
                    Contents
                      -
                      Тест 10
                      24 minutes
                      -
                      Lecture 11
                      13 minutes
                      Контроль доступа к объекту
                      Рассматриваются возможности контроля доступа к атрибутам и методам объекта, контроль по чтению и по записи.
                      Contents
                        -
                        Тест 11
                        24 minutes
                        -
                        Lecture 12
                        38 minutes
                        Классы – конструкторы и деструкторы
                        Конструкторы и деструкторы классов. Возможности инициализации объектов. Копирующий конструктор. Операции new и delete.
                        Contents
                          -
                          Тест 12
                          24 minutes
                          -
                          Lecture 13
                          24 minutes
                          Дополнительные возможности классов
                          Рассматриваются дополнительные возможности при определении классов, включая переопределение операций, определение методов inline и задание собственных преобразований типа.
                          Contents
                            -
                            Тест 13
                            24 minutes
                            -
                            Lecture 14
                            26 minutes
                            Компоновка программ, препроцессор
                            До сих пор мы рассматривали небольшие примеры программ или даже фрагменты программ. Но современный язык программирования должен поддерживать производство больших программных продуктов, состоящих из многих десятков, сотен или даже тысяч классов. Программа на языке Си++ может создаваться коллективом программистов на протяжении нескольких лет. Сейчас мы рассмотрим свойства языка, позволяющие писать большие программы.
                            Contents
                              -
                              Тест 14
                              24 minutes
                              -
                              Lecture 15
                              27 minutes
                              Определение, время жизни и области видимости переменных в больших программах
                              Возможности построения больших программ, использование общих данных. Определение контекста, оператор namespace.
                              Contents
                                -
                                Тест 15
                                24 minutes
                                -
                                Lecture 16
                                32 minutes
                                Обработка ошибок
                                Попытка классификации ошибок. Сообщение об ошибке с помощью возвращаемого значения. Исключительные ситуации. Обработка исключительных ситуаций, операторы try и catch.
                                Contents
                                  -
                                  Тест 16
                                  24 minutes
                                  -
                                  Lecture 17
                                  26 minutes
                                  Ввод-вывод
                                  Потоки. Манипуляторы и форматирование ввода-вывода. Строковые потоки. Ввод-вывод файлов.
                                  Contents
                                    -
                                    Тест 17
                                    24 minutes
                                    -
                                    Lecture 18
                                    24 minutes
                                    Шаблоны
                                    Понятие шаблона. Функции-шаблоны. Шаблоны классов. Примеры использования.
                                    Contents
                                      -
                                      Тест 18
                                      27 minutes
                                      -
                                      5 hours
                                      -