|
Освой самостоятельно С++ за 21 день.
Джесс Либерти;
- Неделя №2
- Основные вопросы
- Что дальше
- День 8-й. Указатели
- Что такое указатель
- Использование указателя как средства хранения адреса
- Имена указателей
- Оператор разыменовывания
- Указатели, адреса и переменные
- Обращение к данным через указатели
- Использование адреса, хранящегося в указателе
- Для чего нужны указатели
- Память стековая и динамически распределяемая
- Оператор new
- Оператор delete
- Что такое утечка памяти
- Размещение объектов в области динамической памяти
- Удаление объектов
- Доступ к членам класса
- Динамическое размещение членов класса
- Указатель this
- Блуждающие, дикие или зависшие указатели
- Использование ключевого слова const при объявлении указателей
- Использование ключевого слова const при объявлении указателей и функций-членов
- Указатель const this
- Вычисления с указателями
- Резюме
- Вопросы и ответы
- Коллоквиум
- Контрольные вопросы
- Упражнения
- День 9-й. Ссылки
- Что такое ссылка
- Использование оператора адреса (&) при работе со ссылками
- Ссылки нельзя переназначать
- На что можно ссылаться
- Нулевые указатели и нулевые ссылки
- Передача аргументов функций как ссылок
- Передача указателей в функцию swap()
- Передача ссылок в функцию swap()
- Представления о заголовках функций и прототипах
- Возвращение нескольких значений
- Возвращение значений с помощью ссылок
- Передача ссылок на переменные как средство повышения эффективности
- Передача константного указателя
- Ссылки в качестве альтернативы
- Когда лучше использовать ссылки, а когда - указатели
- Коктейль из ссылок и указателей
- Не возвращайте ссылку на объект, который находиться вне области видимости!
- Возвращение ссылки на в области динамического обмена
- А где же уазатель?
- Резюме
- Вопросы и ответы
- Коллоквиум
- Контрольные вопросы
- Упражнения
- День 10-й. Дополнительные возможности использования функции
- Перегруженные функции-члены
- Использование значений, заданных по умолчанию
- Выбор между значениями по умолчанию и перегруженными функциями
- Конструктор, принятый по умолчанию
- Перегрузка конструкторов
- Инициализация объектов
- Конструктор-копировщик
- Перегрузка операторов
- Запись Функции инкремента
- Перегрузка префиксных операторов
- Типы возвратов перегруженных функций операторов
- Возвращение безымянных временных объектов
- Использование указателя this
- Перегрузка постфиксных операторов
- Различия между преинкрементном и постинкрементном
- Оператор суммирования
- Перегрузка оператора суммирования
- Основные принципы перегрузки операторов
- Ограничения перегрузки операторов
- Что можно перегружать
- Оператор присваивания
- Операторы преобразований
- Операторы преобразования типов
- Резюме
- Вопросы и ответы
- Коллоквиум
- Контрольные вопросы
- Упражнения
- День 11-й. Наследование
- Что такое наследование
- Иерархия и наследование
- Царство животных
- Синтаксис наследования классов
- Закрытый или защищенный
- Конструкторы и деструкторы
- Передача аргументов в базовые конструкторы
- Замещение функций
- Сокрытие метода базового класса
- Вызов базового метода
- Виртуальные методы
- Как работают виртуальные методы
- Нельзя брать там, находясь здесь
- Дробление объекта
- Виртуальные деструкторы
- Виртуальный конструктор-копировщик
- Цена виртуальности методов
- Резюме
- Вопросы и ответы
- Коллоквиум
- Тест
- Упражнения
- День 12-й. Массивы и связанные листы
- Что такое массивы
- Элементы массива
- Вывод данных за пределами массива
- Ошибки подсчета столбцов для забора
- Инициализация массива
- Объявление массивов
- Массивы объектов
- Многомерные массивы
- Инициализация многомерного массива
- Несколько слов о памяти
- Массивы указателей
- Объявление массивов в области динамического обмена
- Указатель на массив или массив указателей
- Имена массивов и указателей
- Удаление массива из области динамической памяти
- Массивы символов
- Функции strcpy() и strncpy()
- Классы строк
- Связанные списки и другие структуры
- Общие представления о связанных списках
- Делегирование ответственности
- Компоненты связанных списков
- Что мы узнали в этой главе
- Классы массивов
- Резюме
- Вопросы и ответы
- Коллоквиум
- Контрольные вопросы
- Упражнения
- День 13-й. Полиморфизм
- Проблемы с одиночным наследованием
- Перенос метода вверх по иерархии классов
- Приведение указателя к типу производного класса
- Добавление объекта в два списка
- Множественное наследование
- Из каких частей состоят объекты, полученные в результате множественного наследования
- Конструкторы классов, полученных в результате множественного наследования
- Двусмысленность ситуации
- Наследование от общего базового класса
- Виртуальное наследование
- Проблемы с множественным наследованием
- Классы-мандаты
- Абстрактные типы данных
- Чистые виртуальные функции
- Выполнение чистых виртуальных функций
- Сложная иерархия абстракций
- Когда следует использовать абстрактные типы данных
- Логика использования абстрактных классов
- Пара слов о множественном наследовании, абстрактных типах данных и языке Java
- Резюме
- Вопросы и ответы
- Коллоквиум
- Контрольные вопросы
- Упражнения
- День 14-й. Специальные классы и функции
- Статические переменные-члены
- Статические функции-члены
- Указатели на функции
- Зачем нужны указатели на функции
- Массивы указателей на функции
- Передача указателей на функции в другие функции
- Использование typedef с указателями на функции
- Указатели на функции члены
- Массивы указателейна функции-члены
- Резюме
- Вопросы и ответы
- Коллоквиум
- Контрольные вопросы
- Упражнения
- Подведение итогов
|
|