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

}


 

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

49469. Проектирование электрического освещения ремонтно-механического цеха 1.25 MB
  Проектирование электрического освещения ремонтно-механического цеха по дисциплине: Электрическое освещение Выполнила студентка гр. Выбор источников света для системы общего равномерного освещения цеха и вспомогательных помещений Светотехнический расчёт системы общего равномерного освещения и определение установленной мощности источников света в помещениях Выбор источников света типов светильников их размещение и светотехнический расчёт...
49470. Проектирование электрического освещения 434 KB
  Выбор того или иного источника света определяется требованиями к освещению (цветность излучения, зрительный комфорт, показатель блескости и других) и выполняется на основании сопоставления достоинств и недостатков существующих источников света. При этом предпочтение необходимо отдавать...
49474. Создание компьютерной программы «Формирование статистики звонков аппарата Градиент» 49.19 KB
  Компьютерные продукты являются объектами нематериальных активов – это часть активов предприятия, которые обладают стоимостью, но не имеют материального содержания. Они используются в хозяйственном обороте и способны приносить доход. Расчет оплаты специалистов производиться исходя из дневной тарифной ставки каждого.
49475. Проектирование железнодорожной линии в Читинской области 447.5 KB
  В соответствии с заданным соотношением вагонного состава определяется количество вагонов соответствующего типа и длина поезда: 1 где: Ln длина поезда м; ni количество вагонов iго типа; li длина вагонов iго типа м; lл длина локомотива м; Количество вагонов определяется: 2 где: Q – масса поезда т; Длина приёмо-отправочных путей принимается равной 1050 м. 40001200 800 600 Наименьшая длина прямой: а Нормативные условия: между кривыми направленными в одну сторону между кривыми направленными в...
49476. Моделирование тренажера для тенисистов 97.38 KB
  Тренажер представляет собой комнату с тремя стенами ,у входа теннисист. Он может подавать мячи в произвольном направлении. Мячи отражаются от стен .Теннисист может отражать мячи двигаясь поперек входа. В процессе игры фиксируется число мячей ,поданных теннисистом и число пропущенных мячей.