69733

Покажчик this

Домашняя работа

Информатика, кибернетика и программирование

Кожний об’єкт містить свій екземпляр полів класу. Методи класу знаходяться в пам’яті в єдиному екземплярі і використовуються всіма об’єктами сумісно, тому необхідно забезпечити роботу методів з полями саме того об’єкта, для якого вони були викликані.

Украинкский

2014-10-09

22.5 KB

0 чел.

Самостійне вивчення

Тема 10: Покажчик this

Кожний об'єкт містить свій екземпляр полів класу. Методи класу знаходяться в пам'яті в єдиному екземплярі і використовуються всіма об'єктами сумісно, тому необхідно забезпечити роботу методів з полями саме того об'єкта, для якого вони були викликані. Це забезпечується передачею у функцію прихованого параметра this, в якому зберігається константний покажчик на викликаючий функцію об'єкт. Покажчик this неявно використовується всередині методу для посилань на елементи об'єкту. В явному вигляді цей покажчик застосовується в основном для повернення з методу покажчика (return this;) або посилання (return *this;) на об'єкт який викликався.

Для ілюстрації використання покажчика this додамо в клас monstr новий метод, який повертає посилання на найздоровішого (поле health) з двох монстрів, один з яких викликає метод, а інший передається йому як параметр (метод потрібно помістити в секцію public опису класу):

monstr &the_best(monstr &M)

{

if( health > M.health) return *this;

return M;

}

... monstr Vasia(50), Super(200);

// Новий об'єкт Best ініціалізувався значеннями полів Super:

monstr Best = Vasia.the_best(Super);

Покажчик this можна також застосовувати для ідентифікації поля класу у тому випадку, коли його ім'я співпадає з ім'ям формального параметра методу. Інший спосіб ідентифікації поля використовує операцію доступу до області видимості:

void cure(int health, int ammo)

{

this -> health+=health:         // Використання this

monstr:: ammo+=ammo;      // Використовування операції ::

}


 

А также другие работы, которые могут Вас заинтересовать

18303. ПРОСТОРОВІ ГЕОМЕТРИЧНІ ФІГУРИ 167.5 KB
  Лекція 30 ПРОСТОРОВІ ГЕОМЕТРИЧНІ ФІГУРИ Просторові геометричні фігури та їх зображення на площині. Поняття про геометричне тіло. Многогранники. Теорема Ейлера про многогранники без доведення. Питання на самостійне опрацювання Тіла оберта
18304. ПОНЯТТЯ ПРО ВЕЛИЧИНУ ТА ЇХ ВИМІРЮВАННЯ 77 KB
  Лекція 31 ПОНЯТТЯ ПРО ВЕЛИЧИНУ ТА ЇХ ВИМІРЮВАННЯ Відображення властивостей дійсного світу через поняття величини. Додатні адитивноскалярні величини ті їх властивості. Поняття про вимірювання величин. Види величин. Довжина відрізка її основні властиво...
18305. Логіка, 2 клас. Експериментальний навчальний посібник 3.45 MB
  Логіка 2 клас. Експериментальний навчальний посібник. Київ: Початкова школа 2002 112 с Кожна людина прагне передати свої думки іншим. Для того щоб інші розуміли плин твоїх думок треба чітко їх висловлювати. Якщо думку людини неможливо зрозуміти то кажуть: В його мірк
18308. ЛОГІКА З клас Експериментальний навчальний посібник 1.75 MB
  Олександр Митник ЛОГІКА З клас Експериментальний навчальний посібник Любий друже Дякую тобі що взяв до рук цю книгу. Отож ти вирішив продовжити освоювати стежки знань і мудрості. До цієї мандрівки запрошуються діти які люблять міркувати і прагнуть опанувати мис...
18310. ЛОГІКА 4 клас Експериментальний навчальний посібник 2.47 MB
  Митник О.Я. М 66 Логіка 4 клас. Навчальний посібник. Київ: Початкова школа 2009. 80 с. ІЗВМ 9789668087332 Навчальний посібник Логіка для 4 класу є продовженням певної системи ознайомлення дітей з основними поняттями сучасної логіки з основними видами логічних задач які...
18311. Умовиводи 97.5 KB
  Практичне заняття № 6 Тема: Умовиводи. І. Перетворення. Теоретичні питання. 1. Умовивід його структура. 2. Перетворення та його суть. 3. Схема перетворення для стверджувального судження загального і часткового. 4. Перетворення заперечного судження та його схема ...