
- •Вирази і оператори.
- •Логічні оператори.
- •Оператор розгалуження.
- •Оператор вибору.
- •Арифметичні операції. Пріоритет виконання.
- •Вказівники константи.
- •Вказівники змінні.
- •Функції.
- •Функція для роботи з файлами.
- •Передача аргументів у функцію.
- •Значення, яке повертає функція.
- •Рекурсивні функції.
- •Блоки і область видимості змінних.
- •Оператори повторення.
- •Структури. Вкладені структури.
- •Створення класів.
- •Управління виконанням програм.
- •Одновимірні масиви даних.
- •Двовимірні масиви даних.
- •Створення масивів з використанням вказівників.
- •Алгоритми сортування масивів.
- •Рядки і операції над ними.
- •Функції введення-виведення.
- •Конструктори, деструктори.
- •Класи. Успадкування.
- •Класи. Поліморфізм.
- •Класи. Інкапсуляція.
- •Вказівник this.
- •Перевантаження операцій та операторів.
- •Поліморфізм і віртуальні функції.
- •Стандартний клас string.
- •Стандартний клас queue.
- •Стандартний клас vector.
- •Стандартний клас list.
- •Стандартний клас stack.
- •Створення і використання шаблонів функцій та класів.
- •Стандартна бібліотека шаблонів (stl)
- •Доступність методів класу.
- •Конструктор та деструктор класів.
- •Наслідування класів.
- •Використання просторів імен.
- •Шаблони функцій.
- •Шаблони класів.
- •Алгоритми стандартної бібліотеки stl.
- •Динамічні структури типу стек.
- •Динамічні структури типу однонаправлений список.
- •Динамічні структури типу двонаправлений список.
- •Сортування масивів із використанням вказівників.
Наслідування класів.
Поняття класу приводить нас до поняття наслідування. Найбільш значимою після класів можливістю ООП є наслідування. Це процес створення нових класів, які називаються наслідниками або похідними класами із уже існуючих або базових класів. Похідний клас отримує всі можливості базового класу, але може бути також удосконалений за рахунок додавання власних. Базовий клас при цьому залишається незмінним.
Наслідування важлива частина ООП. Наслідування можна вважати аналогом використання функцій в процедурному підході. Якщо ми знайдемо декілька функцій, які виконують схожі дії, то ми витягнемо із них ідентичні частини і винесемо їх в окрему функцію. Виграш від нього полягає в тому,що наслідування дозволяє використати існуючий код декілька раз. Маючи написаний і налагоджений базовий клас, ми можемо його не модифікувати, при цьому механізм наслідування дозволить нам застосувати його для роботи в різноманітних ситуаціях. Використовуючи вже написаний код, ми економимо час і гроші, а також збільшуємо надійність програми. Наслідування може допомогти і при початковій постановці задачі програмування, розробці загальної структури програми.
Важливим результатом повторного використання коду є спрощене розповсюдження бібліотек класів. Програміст може використовувати класи, створені кимось іншим, без модифікації кода, просто створюючи похідні класи, які підходять для даної ситуації.
С++ розроблений для того, щоб створення похідних класів було ефективним. Ми легко можемо використати лише частину базового класу: дані, конструктори або методи, після додати потрібні нам можливості і створити новий покращений клас.
Використання просторів імен.
Кожну програму на мові С++ можна розбити на декілька так званих просторів імен. Простором імен називається область, в якій розпізнається визначена сукупність імен. Ці імена невідомі за межами даного простору імен. Директива using name std: означає, що всі визначені нижче імена в програмі будуть відноситись до простору імен з імям std. Різноманітні елементи програми, описані з використанням простору імен std, наприклад змінна cout. Якщо не використовувати директиву using, то до цих елементів програми доведеться кожного разу додавати імя std.
std : : cout << «21 АФПМ\n»
Для того, щоб не дописувати std : : кожного разу перед іменем змінної, використовується директива using.
Частина коду, яка знаходиться поза простору імен, не має доступу до його членів, принаймні звичайним способом. Простір імен робить їх невидимими. Щоб мати доступ до елементів простору імен ззовні, необхідно при зверненні до них використати назву цього простору. Це можна зробити двома способами:
Кожен елемент можна випереджати назвою простору і оператором дозволу контексту.
Можна використати директиву using.
Директива using зазвичай робить простір імен видимим починаючи з місця її написання і до кінця. Можна звузити область дії директиви до блока, використовуючи її, наприклад, у функції.
Простори імен часто використовуються в заготовочних файлах бібліотек класів або функцій. Кожна бібліотека може мати свій простір імен. Можна створити простір імен і не присвоюючи йому імені. При цьому автоматично створиться простір, елементи якого видні тільки із даного файлу. Компілятор дає йому імя, яке співпадає з іменем файлу. Члени неназваного простору імен видні скрізь всередині файлу.