
- •Абстрактные классы.
- •Аргументы функций по умолчанию.
- •Арифметические операции с указателями и с указателями на массивы.
- •Ввод-вывод в символьные массивы.
- •Виртуальные классы. Порядок вызова конструкторов и деструкторов.
- •Виртуальные функции.
- •Виртуальные функции-члены.
- •Виртуальный деструктор. Абстрактные классы.
- •Динамическая память. Указатели и массивы. Ссылочный тип.
- •Доступ к глобальным переменным, скрытым локальными переменными с тем же именем (оператор ::).
- •Доступ к членам базовых классов внутри производного класса.
- •Доступ к элементам массива. Вычисление размера массива. Многомерные массивы.
- •Дружественные классы и функции.
- •Закрытые, защищенные и открытые элементы класса.
- •Иерархия классов. Иерархия наследования классов.
- •Инициализация и разрушение (конструкторы и деструкторы).
- •Инициализация массивов по умолчанию. Явная инициализация массивов.
- •Инициализация безразмерных массивов
- •1. Инкапсуляция
- •2. Полиморфизм
- •3. Наследовние
- •22.Использование new и delete на примере динамических массивов, стеков, очередей.
- •Указатель this
- •Указатели на структуру
- •Массивы структур
- •Классы и объекты. Класс как структура.
- •Классы. Спецификаторы доступа public, protected, private.
- •Константные (const) и изменяемые (mutable) члены класса.
- •Конструктор копирования для контейнерного класса.
- •Конструкторы и деструкторы.
- •Конструкторы и способы обращения к ним.
- •Логические операции. Инкремент и декремент. Арифметические операции.
- •Объявление переменной массива
- •Множественное наследование.
- •Модификатор константы. Модификатор volatile. Модификатор const
- •Модификатор volatile
- •Модификатор const
- •Модификатор volatile
- •Объединения: синтаксис и правила.
- •Объединения: создание простого объединения. Использование enum.
- •41. Объекты стандартного предопределенного потокового ввода-вывода cin, cout, cerr, clog.
- •Объявление переменных указателей. Простые операторы с указателями.
- •Оператор if. Оператор if-else. Вложенные операторы if-else. Оператор if-else-if.
- •If (условие_истинно) оператор; else оператор;
- •If (условие_истинно)
- •Операторы динамического распределения памяти (new, delete).
- •Операции динамического распределения памяти.
- •Операции отношения и логические операции. Условная операция. Операции сравнения (Операции отношений)
- •Логические операции.
- •Операция присваивания. Приоритет операций.
- •Определение первичного класса.
- •Определение переменных указателей. Инициализация указателей.
- •Организация списка объектов различного типа. Техническая реализация
- •Параметризованная очередь. Параметризованный стек. Параметризованное бинарное дерево.
- •Int max_len; /* Максимальная длина стека */
- •Int top; /* Индекс элемента в вершине стека */
- •Параметризованный класс двухсвязного списка.
- •58. Перегрузка операций
- •59. Перегрузка для труктур
- •Передача значений параметров по умолчанию. Передача параметров по ссылке и ссылочные переменные.
- •Передача параметра по ссылке
- •Передача структур в функции. Создание массива структур.
- •63. Подставляемые функции (inline-функции).
- •Преобразования указателей на объекты
- •65. Приведите пример использования enum.
- •66. Приведите пример использования inline-функции.
- •67. Приведите пример использования аргументов функций по умолчанию.
- •68. Приведите пример использования арифметических операции с указателями.
- •69. Приведите пример использования виртуальных функций
- •70. Приведите пример использования вызова функций по значению и вызов по ссылке.
- •71. Приведите пример использования дружественных функции.
- •72. Приведите пример использования конструкторов и деструктора.
- •73.Приведите пример использования массива структур.
- •Приведите пример использования перегрузки функций.
- •81. Приведите пример использования указателей и массивов.
- •82. Приведите пример использования условного оператора
- •83.Приведите пример использования циклов for, while, do-while.
- •84. Приведите пример использования шаблонов функций.
- •Принципы организации позднего связывания.
- •Приоритет переменных с файловой и локальной областями действия. Операция уточнения области действия.
- •Производные классы. Доступ к полям и функциям базового класса.
- •88. Простой класс. Вложенные классы
- •Пространство имен. Операторы namespace и using. Пространство имен
- •Прототипы функций. Вызов функций по значению и вызов по ссылке. Область действия. Рекурсия.
- •91.Работа с файлами последовательного и произвольного доступа.
- •92.92.Переменные
- •Где объявляются переменные
- •Локальные переменные
- •Вопрос 95
- •96 Соглашения об именах
- •Тело класса и составные функции.
- •Указатели на массивы. Указатели на строки.
- •Использование указателя на символьную строку
- •Условный оператор. Оператор switch.
- •Формальные и фактические параметры. Массивы в качестве параметров. Аргумент типа void.
- •Способ передачи параметров в подпрограмму
- •110.Циклы for. Циклы while. Циклы do-while. Разница между циклами.
- •Цикл while ("пока") с постусловием
Логические операции. Инкремент и декремент. Арифметические операции.
|| - логическое ИЛИ, && - логическое И. Операция логического И обладает более высоким приоритетом.
Данные операции используются для объединения нескольких условных операций:
if (x = y)
{
if (z > x)
{ }
}
Вот вместо этой чудовищной конструкции можно использовать следующую:
if ((x == y) && (x < z))
{ }
Только когда выполняются два условия, выполняется и тело ветвления.
Операция || работает аналогично:
if ((x == y) || (x < z))
{ }
Тело ветвления выполняется, когда выполняется любое из условий, т.е. если выполняется хоть одно условие.------
Арифметические операции
Приоритет этих операции такой же как и в математике. Операции умножения, деления выполняются раньше чем операции суммы, вычитания.
Для операции умножения в C++ используется знак *.
Кроме того сюда же относится операция взятия остатка %. Данная операция делит первый операнд на второй и берёт остаток от деления:
int x = 3;
int y = 10;
int z;
z = x % y; // z = 3
Мы делим три на десять. Результат - 0,3. Отбрасываем ноль и берём остаток. Результат - 3.
Данная операция хоть и не так распространена как например другие арифметические операции, но тем не менее используется довольно часто. И иногда бывает просто незаменима.
Инкремент - увеличение переменной на единицу. Новое значение сохраняется в переменной.
Декремент - уменьшение переменной на единицу. Новое значение сохраняется в переменной.
Различают два вида этих операций: операции преинкремента и предекремента и операции постинкремента и посткинкремента.
int x = 5;int y;
y = ++x; // y = 6, x = 6
y = --x; // y = 5, x = 5
y = x++; // y = 5, x = 6
y = x--; // y = 6, x = 5
Опишу ситуацию для инкремента.
При преникременте (плюсы стоят перед переменной), сначала происходит увеличение переменной на единицу, и потом это увеличенное значение участвует в выражении.
При постинкременте (плюсы стоят после переменной) переменная сначала участвует в выражении, а только затем она увеличивается.
Предекремент и предекремент работают точно также.
Именно операция постинкремента используется в названии языка C++ - т.е. увеличенный на единицу C.
Массивы в С++. Объявления массивов.
В большинстве случаев программам необходимо хранить множество значений, например 50 тестовых очков, 100 названий книг или 1000 имен файлов. Если программам необходимо хранить несколько значений, они должны использовать специальную структуру данных, называемую массивом. Для объявления массива необходимо указать имя, тип массива и количество значений, которые массив будет хранить.
Массив представляет собой структуру данных, которая позволяет одной переменной хранить несколько значений.
При объявлении массива вы должны указать тип значений, хранящихся в массиве, а также количество значений (называемых элементами массива).
Все элементы внутри массива должны быть одного и того же типа, например, int, float или char.
Для сохранения значения внутри массива вам следует указать номер элемента массива, в котором вы хотите сохранить свое значение.
Чтобы обратиться к значению, хранящемуся внутри массива, ваши программы указывают имя массива и номер элемента.
При объявлении массива программы могут использовать оператор присваивания для инициализации элементов массива.
Программы могут передавать переменные-массивы в функции точно так же, как они передают любой другой параметр.