Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Основи програмування в C + +

Реферат Основи програмування в C + +





виході об'єкта з області видимості. p> Локальні об'єкти видаляються тоді, коли вони виходять з області видимості. Глобальні об'єкти видаляються при завершенні програми.


5. Спадкування


Стосовно до C + + спадкування - це механізм, за допомогою якого один клас може успадковувати властивості іншого. Спадкування дозволяє будувати ієрархію класів, переходячи від більш загальних до більш спеціальним.

Клас, властивості і поведінка якого успадковуються, називається базовим класом.

Клас, який успадковує називає, називається похідним класом.

Зазвичай процес спадкування починається з завдання базового класу. Базовий клас визначає всі ті якості, які будуть спільними для всіх похідних від нього класів. У сутності, базовий клас є найбільш загальний опис ряду характерних рис. Похідний клас успадковує ці загальні риси і додає властивості, характерні тільки для нього.

Спадкування, при якому вказується один базовий клас, називається простим.

Якщо вказуються декілька класів, то успадкування називається множинним.


Оголошення виглядає наступним чином:

class ім'я класу: public ім'я базового класу

Наприклад, class D: public A

{...}


Після імені класу D мається двокрапка, за якою слід ключове слово public і ім'я класу A. Для компілятора це вказівка ​​на те, що клас D буде успадковувати всі компоненти класу A. Само ключове слово public інформує компілятор про те, що, оскільки клас A буде успадковуватися, значить, всі відкриті елементи базового класу будуть також відкритими елементами похідного класу. Однак всі закриті елементи базового класу залишаться закритими і до них не буде прямого доступу з похідного класу. Причина, по якій закриті члени класу стають недоступними для похідних класів - підтримка інкапсуляції. Якби закриті члени класу ставали відкритими просто за допомогою спадкоємства цього класу, інкапсуляція була б абсолютно неспроможна.

При множині спадкуванні оголошення виглядає так:


class D: public A [, public C]

{тіло класу D}


Розглянемо приклад:


enum Bool

{false, true};// Константи зводяться до int. Вони змінюються з кроком рівним одиниці. p> class Point: public Location

{protected:

Bool vis;

public:

Point (int _x, int _y);

void Show ();

void Hide ();

};

Point :: Point (int_x, int_y): Location (_x, _y)

{vis = false;}

Тут клас Point успадковує властивості базового класу Location.

Спадкування і контроль доступу

Специфікатор доступу визначає те, як елементи базового класу успадковуються похідним класом. Якщо специфікатором доступу успадкованого базового класу є ключове слово public, то всі відкриті члени базового класу залишаються відкритими і у похідному. Якщо специфікатором доступу успадкованого базового класу є ключове слово private, то всі відкриті члени базового в похідному класі стають закритими. В обох випадках всі закриті члени базового класу в похідному класі залишаються закритими і недоступними.

Важливо розуміти, що якщо специфікатором доступу є ключове слово private, то хоча відкриті члени базового класу стають закритими у похідному, вони залишаються доступними для функцій - членів похідного класу.

Доступ до полів базового класу в похідному класі може бути збережений або посилений, але ніколи не може бути полегшений. Щоб наочніше уявити собі цей принцип, звернемося до таблиці:


Доступ

спадкування

Доступ компонентів

в базовому класі

Доступність компонентів

базового класу в

похідному класі

public

private

protected

public

Немає доступу

protected

public


protected

private

protected

public

Немає доступу

protected

protected

private

private

protected

public

Немає доступу

private

private


В 

6. Покажчик this


Коли функція, що належить класу, викликається для обробки даних конкретного об'єкта, цієї функції автоматично і неявно передається покажчик на той об'єкт, для якого функція викликана. Цей покажчик має фіксоване ім'я this і непомітно для програміста ("Таємно") визначено у кожної функції класу наступним чином:


імя_класса * const this = адресу оброблюваного об'єкта;


Ім'я this є службовим (ключовим) слово...


Назад | сторінка 4 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Клас птахи, загальна характеристика класу
  • Реферат на тему: Розробка класу в PHP
  • Реферат на тему: Поняття середнього класу
  • Реферат на тему: Дослідження класу Павукоподібніх