- •Оператор безумовного переходу
- •Ініціалізація масивів.
- •Символьні масиви. Рядковий тип.
- •Одновимірні масиви
- •Багатовимірні масиви
- •Функції
- •Рекурсія
- •Вказівний тип
- •Динамічний розподіл памяті
- •Структурний тип.
- •Об’єднуючий тип
- •Директиви препроцесора
- •Коментарії
- •Вказівник this
- •Перевантаження функцій
- •Перевантаження конструкторів
- •Стандартні значення параметрів функцій
- •Перевантаження унарних операторів
- •Перевантаження бінарних операторів
- •Дружні операторні функції
- •Наслідування
- •Захищене наслідування
- •Відкрите наслідування
- •Закрите наслідування
- •Множинне наслідування
- •Віртуальні функції
- •Чисто віртуальні функції
- •Абстрактні класи
- •Шаблони
- •Статичні елементи класу
- •Включення файлів
- •Потокова система вводу виводу
- •Маніпулятори введення-виведення
- •Поняття клас
- •Поняття об’єкт
- •Конструктори
- •Відкриті та закриті поля класу
- •Захищені поля класу
- •Дружні функції
- •Дружні класи
- •Масиви об’єктів
- •Ініціалізовані масиви об’єктів 44. Неініціалізовані масиви об’єктів
- •Вказівники на об’єкти
- •Посилання
- •Множини
- •Процедури
- •Функції
- •Рекурсивні функції
- •Оператор приєднання
- •Текстові файли
- •Модулі.
- •Вказівники.
- •Операції над вказівниками.
- •Списки.
- •Вставка елемента в список.
- •Видалення елемента із списку.
- •Динамічні рядки символів.
- •Пошук елемента списку
- •Поняття черги та стеку
- •Службові слова мови с
- •Типи даних
- •Змінні та константи
- •Оператори мови с
- •Ввід та вивід на консоль
- •Модифікатори
- •Мультиплікативні операції
- •Адитивні операції
- •Умовний оператор
- •Оператор вибору
- •Цикл з параметром
- •Цикл з передумовою
Перевантаження бінарних операторів
Бінарний оператор має два операнди. Його виклик виконується об'єктом, розташованим у лівій частині
оператора. Отже, бінарний оператор
a+b
еквівалентний такому оператору.
a.operator+(b)
Таким чином, бінарна операторна функція-член повинна має тільки один параметр, що задає другий операнд
Вказівник this на перший операнд вона одержує неявно.
Для того щоб бінарну операторну функцію можна було застосовувати усередині виразів, необхідно, щоб
вона повертала об'єкт свого класу.
Дружні операторні функції
Функції, що не є членами класу, можуть оперувати тільки з відкритими чле-
нами класу (з розділу public). Щоб забезпечити доступ до закритих членів кла-
су (з розділу private), вводяться дружні функції або функції-друзі. Щоб зроби-
ти функцію "дружньою" класу, необхідно включити її прототип в оголошення
класу із ключовим словом friend. Функція-член одного класу може бути friend-
функцією іншого класу. Прототип дружньої функції записується в оголошення
класів, з якими вона "дружить":
class t1 {
friend void a(); // функція-друг
int b(); // функція-член
};
class t2 {
friend int t1::b(); // функція-член класу t1
//має доступ до всіх закритих полів класу t2
};
Наслідування
Наслідування - це можливості створювати нові класи об'єктів на базі вже існуючих та таким чином надавати новим класам - 'спадкоємцям' право наслідування властивостей (полів) та методів існуючих класів - 'породжувачів'. 'Спадкоємці' розглядаються як підлеглі (залежні від) 'породжувачам'. 'Спадкоємець' інколи називається похідним типом. Така структура реалізується за допомогою наступної конструкції:: type <ім'я об'єкта - спадкоємцяа>=object(<ім'я об'єкта - породжувача>) <додаткові поля спадкоємця> <додаткові методи спадкоємця> end; У операціях надання породжувач завжди повинен знаходитись зліва, тому що кількість його полів завжди меньша чи дорівнює кількості полів спадкоємця <породжувач>:=<спадкоємець>;
Захищене наслідування
Захищене наслідування відрізняється тим, що при ньому публічні члени базового класу є захищеними членами спадкоємця. При власному спадкоємстві всі члени базового класу стають власними членами класу-спадкоємця. Таким чином, користувач похідного класу не може звертатися до членів базового класу, навіть якщо вони оголошені я публічні.
Відкрите наслідування
Формула (відкритого) успадкування :
Підоб'єкт успадковує всі властивості (атрибути) і поведінку (відкриті методи) базового об'єкту
Підоб'єкт може мати власні додаткові властивості і поведінку
Підоб'єкт не має доступу до закритої частини базового об'єкту
Закрите наслідування
Закрите успадкування :
Підклас має доступ до відкритої і захищеної частини базового класу, але не передає цих прав своїм підкласам
Транзитивне (захищене) успадкування :
Підклас передає своїм підкласам доступ до відкритої і захищеної частини базового класу так, як ніби вони складали його захищену частину
Об'єкти що не є в цепочці наслідування класу, не мають доступу до захищеної частини.