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

}


 

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

63838. Злокачественные новообразования как социально-гигиеническая проблема 24 KB
  Показатели смертности в возрастных группах мужчин и женщин существенно различаются. Так для группы 25 34 года смертность несколько выше у мужчин 35 лет у женщин а в возрасте 55 64 лет значительно больше умирает мужчин. В целом смертность мужчин превышает смертность женщин.
63839. Травматизм и его медико-социальное значение 30 KB
  Травмы и отравления 8500 на 100 000 населения 91г. Травмы занимают 1 место в городах по посещению поликлиник. Травмы относятся к 17 классу ОМКБ. Фрейллина: травмы производственного характера: промышленные с х травмы непроизводственного характера...
63840. Туберкулез как медико-социальная проблема 35 KB
  Сегодня ТБЦ является медико социальной проблемой т. Уровни заболеваемости Единица учета уровня заболеваемости ТБЦ первичный ТБЦ комплекс в других странах выделение микобактерий ТБЦ. Общая заболеваемость ТБЦ 1520 млн.
63841. Заболевания органов дыхания как медико-социальная проблема 26 KB
  БОД заболевания 8 класса МКБ. Группы БОД: ОРЗ Другие болезни ВДП Пневмонии и грипп Хр. болезни легких вызываемые внешними агентами Другие болезни органов дыхания Роль БОД по материалам текущей обращаемости: в структуре заболеваемости населения являются ведущими.
63842. Психическое здоровье 33.5 KB
  Классификация нервно психических заболеваний 5 класс межд. В экономически развитых странах нервно психические заболевания очень важная проблема: 25 28 на 1000 человек. Нервно психическая патология. Изменяется структура нервно психической патологии в развивающихся и развитых странах.
63843. Медико-социальное значение алкоголизма 29 KB
  Алкоголизм рассматривается как медико-социальная проблема влияющая на показатели состояния здоровья заболеваемости и смертности. Уровень смертности среди систематически пьющих в 3 раза выше чем среди непьющих. В структуре смертности первое место занимают травмы...
63844. Научное просвещение как фактор активизации политической жизни общества 39.5 KB
  Для современной России характерна такая ситуация в которой население все меньше и меньше направляет свою энергию в общественно-политическую сферу жизни общества. Политическое просвещение как культурный социальный и политический феномен имеет объективные исторически обусловленные основания...
63845. Трансформация сознания российского общества 62.79 KB
  В основе любой процветающей цивилизации или общности людей связанных единой культурой всегда лежит какая либо общезначимая национальная идея вокруг которой и выстраивается жизнь народа и целого государства. Трансформация сознания это изменение убеждений стремлений...
63846. Лица с ограниченными возможностями: группы барьеров 16.55 KB
  Инвалидность это проблема не одного человека а всего общества в целом. В результате это большинство лиц с ограниченными возможностями во всем мире оказываются отверженными и живут в условиях моральных и материальных невзгод.