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;      // Використовування операції ::

}


 

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

17303. Засоби адаптивного управління інформаційною безпекою. Система виявлення уразливостей захисту 119.5 KB
  Лекція 13. Засоби адаптивного управління інформаційною безпекою. Система виявлення уразливостей захисту Основні рішення В умовах обмежених ресурсів використання засобів SAFEsuite є проблематичним ізза їх високої ціни. Основною задачею є пошук безкоштовних засобів адап...
17304. Технологія захисту інформації на базі захищених віртуальних приватних мереж 336 KB
  Лекція 15. Технологія захисту інформації на базі захищених віртуальних приватних мереж Концепція побудови захищених віртуальних приватних мереж – VPN У основі концепції побудови захищених віртуальних приватних мереж – VPN лежить достатньо проста ідея: якщо в глобальній ...
17305. Класифікація і рішення для побудови віртуальних приватних мереж VPN 216 KB
  Лекція 16. Класифікація і рішення для побудови віртуальних приватних мереж VPN Класифікація VPN Різні автори порізному проводять класифікацію VPN. Найчастіше використовуються три наступні ознаки класифікації: робочий рівень моделі OSI; конфігурація структурного ...
17306. Основи захисту периметру корпоративних мереж Засоби захисту периметру 530 KB
  Лекція 23. Основи захисту периметру корпоративних мереж Засоби захисту периметру Периметр це укріплена границя корпоративної мережі що може включати: маршрутизатори routers; брандмауери firewalls; проксісервери; proxyservers систему виявлення вторгнень IDS; ...
17307. Захист Windows Server. Механізми зміцнення безпеки Windows Server 123 KB
  Лекція 18. Захист Windows Server Механізми зміцнення безпеки Windows Server Операційна система Windows Server містить майстер настройки безпеки засіб заснований на використанні ролей що дозволяє забезпечити додаткову безпеку серверів. При використанні спільно з об'єктами групової п...
17308. Захист SQL Server 143 KB
  Лекція 19. Захист SQL Server Загальні положення Система управління базами даних Microsoft SQL Server має різноманітні засоби забезпечення захисту даних. Якщо база даних призначена для використання більш ніж однією людиною необхідно поклопотатися про розмежування прав доступу. В ...
17309. Захист web-серверів 139 KB
  Лекція 20. Захист webсерверів Правила забезпечення захисту Публічні вебсервери продовжують залишатися об'єктами атак хакерів які хочуть за допомогою цих атак нанести dтрату репутації організації або добитися якихнебудь політичних цілей. Хороші заходи захисту можуть...
17310. Захист поштових серверів Exchange Server 201 KB
  Лекція 21. Захист поштових серверів Exchange Server Основні рекомендації для забезпечення безпеки Хоча існує величезна кількість різних складних і сучасних засобів які можна використовувати для посилення безпеки структури сервера Exchange не варто недооцінювати наступні осн
17311. ЗАХИСТ ЛОКАЛЬНИХ МЕРЕЖ ВІД ВИТОКІВ КОНФІДЕНЦІЙНОЇ ІНФОРМАЦІЇ 161 KB
  Лекція 22. Захист локальних мереж від витоків конфіденційної інформації Основні характеристики систем запобігання витокам інформації З розвитком ІТ секрети стали уразливі як ніколи. У епоху паперових документів співробітникові було скрутно непомітно винести докум