МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Просте спадкуванняМова C++ дозволяє класу успадковувати дані-члени і функції-члени одного або декількох інших класів. При цьому новий клас називають похідним класом (класом-нащадком або підкласом). Клас, елементи якого успадковуються, називається базовим класом (батьківським класом або класом-предком або суперкласом) для свого похідного класу. Спадкування дає можливість деякі загальні риси поводження класів абстрагувати в одному базовому класі. Похідні класи, успадковуючи це загальне поводження, можуть його трохи видозмінювати, перевизначаючи деякі функції-члени базового класу, або доповнювати, вводячи нові дані-члени і функції-члени. Таким чином, визначення похідного класу значно скорочується, оскільки потрібно визначити лише ті його риси поведінки, які відмінні від похідних класів. Синтаксис оголошення похідного класу має такий вигляд: //Базовий клас class Base { //… }; //Похідний клас class Derived :<специфікатор_доступу> Base { //… } Тут <специфікатор_доступу> ‑ це public, protected або private; він не є обов'язковим і за замовчуванням приймає значення private для класів і public для структур. Якщо в похідного класу є всього один базовий клас, то говорять про просте спадкування. Рисунок 1. Зображення графів простого спадкування Традиційно програмісти в С++ зображають спадкування у вигляді графів, стрілки яких направлені від похідного класу до базового класу. У похідному класі звичайно додаються нові члени до членів базового класу. Однак існує також можливість перевизначення (або заміщення) членів базового класу. Звичайно використовується перевизначення функцій-членів базового класу. Щоб перевизначити функцію-член базового класу в похідному класі, досить включити її прототип в оголошення цього класу і потім дати її визначення. Звичайно, прототипи переобумовленої функції в базовому і похідному класах повинні збігатися. Іноді виникає необхідність викликати функцію-член базового класу, а не її перевизначений варіант, це можна зробити за допомогою операції розширення області видимості: <ім'я__класу>: : <ім'я_члена> Це дає можливість компілятору "бачити" за межами поточної області видимості. Особливо часто це приходиться робити при перевизначенні функцій-членів. Перевизначена функцію-член може викликати відповідну функцію-член базового класу, а потім виконувати деяку додаткову роботу (або навпаки). Похідний клас сам може служити як базовий клас для деякого іншого класу. При цьому вихідний базовий клас називається непрямим базовим класом для іншого базового класу.
Читайте також:
|
||||||||
|