В курсе рассматриваются следующие вопросы:
Тема №1. Основные особенности программирования на С++.
Первая программа на С++. Объявление переменных. Директива #include. Ввод данных. Операции, выражения и комментарии. Функции. Локальные, глобальные и другие переменные. Управляющие инструкции. Особые операции С++. Логические операции и операции над битами. Операции над полями бит.
Тема №2. Указатели, массивы и строки.
Указатели и передача данных. Передача данных по ссылке. Одномерные массивы. Многомерные массивы и их размещение в памяти компьютера. Инициализация массивов. Массивы и указатели. Строки. Указатели и динамическое распределение памяти. Использование стандартных функций malloc и free . Использование операторов new и delete
Тема №3. Ввод и вывод.
Понятие потока. Операторы потоков для ввода/вывода. Управление форматом при работе с потоками. Ввод/вывод строк с помощью библиотеки studio.h. Операторы потоков для работы с файлами.
Тема №4. Классы.
Создание нового класса. Поведение класса. Объекты класса. Указатели на объекты. Достоинства классов. Конструкторы и деструкторы: рождение и смерть объектов. Определение встраиваемой функции. Структура как разновидность класса.
Тема №5. . Конструкторы.
Конструктор по умолчанию. Конструктор копирования. Ссылки и конструктор копирования. Защита параметра от изменений. Примеры конструкторов. Вызов конструкторов и конверсия. Перегрузка конструкторов
Тема №6. Перегрузка операторов.
Базовый синтаксис. Создание функций оператора сложения. Для чего нужны функции-друзья. Создание функции оператора присваивания. Указатель this и его использование при создании функций. Создание функции преобразования. Обобщение класса MyStr. Еще один пример перегрузки операторов. Имя функции оператора. Бинарные операторы. Унарные операторы. Оператор присваивания. Присваивание переменных разных типов. Специальные операторы присваивания. Операторы инкремента и декремента. Оператор выделения элемента массива. Операторы new и delete. Оператор вызова функции. Ограничения на перегрузку операторов.
Тема №7. Наследование.
Дилемма программного обеспечения. Создание производного класса. Иерархия наследования. Создание класса без наследования. Наследование и оболочка объекта. Виды доступа: public, private и protected. Пример создания класса. Конструкторы базовых классов. Базовые классы и указатели.
Тема №8. Виртуальные функции.
Применение ключевого слова virtual. Программирование команд меню. Достоинства виртуальных функций. Чистые виртуальные функции и абстрактные классы. Определение виртуальной функции. Механизм вызова виртуальных функций.
Адрес:
г. Челябинск, Комсомольский пр., д. 48