67201

Вказівник this

Лекция

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

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

Украинкский

2014-09-06

34 KB

0 чел.

Лекція № 8

Тема: Вказівник this

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

    Як уже  зазначалося вище, функція-член класу може мати прямий доступ до закритих (private)  членів-даних  свого  класу.  Наприклад,  нехай  визначено  такий клас:

class myClass 

{     int c;

     void Fun() {...};

     // ...

};

    У  тілі функції  Fun() можна  використовувати  таку  настанову  для  присвоєння члену c значення 10:

c = 10;

Насправді попередня настанова є скороченою формою такої:

this->c = 10;

Щоби зрозуміти, як працює вказівник this, розглянемо таку навчальну програму.

Приклад 1.  Демонстрація механізму застосування ключового слова this 

class myClass

{           int c;

       public:

 void Get(int n)   { this->c = n; }          // те саме, що c = n

 int Put()     { return this->c; }             // те саме, що return c

};

 

int main()

{      myClass Obj;   

       Obj.Get(100);

       cout << "c= " << Obj.Put() << endl;

       getch(); return 0;

}

    Внаслідок виконання ця програма відображає на екрані число 100. Безумовно, цей приклад тривіальний, але у ньому показано, як можна використовувати  вказівник this.  З  матеріалу  наступних  тем Ви  зрозумієте,  чому вказівник this є таким важливим для написання програм мовою C++.

    Кожна нестатична функція-член класу має доступ до обєкта, для якого вона викликана, через ключове слово this. Зазвичай, вказівник this використовують для повернення вказівника ( return this) або посилання ( return *this) на об’єкт класу.

Приклад 2.  Демонстрація механізму застосування ключового слова this 

class A

{

 int i;

public:

A(int i1) {i=i1;}

 void show(){cout<<"i="<<i<<endl;}

 void print()

{

 show();

 this->show();

 (*this).show();

}

};

void main()

{

A obj(1);

obj.print();

}

  Результати виконання програми:

і=1

і=1

і=1

   Вказівник this дуже важливий при перевантаженні операторів.

   Пам'ятаєте, що вказівник this автоматично передається всім функціям-членам.

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

   


 

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

52041. Правила поведінки під час уроків і на перервах. Поведінка в їдальні, в бібліотеці 44.5 KB
  Отже сьогоднi ми з вами почнемо розмову про нашу поведiнку пiд час урокiв розглянемо як вона впливає на наші успiхи у навчаннi навчимося поводити себе в колективi ознайомимося iз правилами культурної поведiнки. Яких би правил поведiнки ви б не хотiли дотримуватися тепер Якi правила на вашу думку необхiдно залишити у сучаснiй школi 2. Групою iз 4 6 чоловiк обговорiть i складiть правила для школярiв сьогоднiшнiх та з далекого майбутнього. 3робiть висновок про те для чого ми складали певнi правила поведінки.
52042. Звязок додавання і віднімання. Складання прикладів на віднімання з прикладів на додавання 171 KB
  Робота з індивідуальним матеріалом. «Учитель» викладає індивідуальний геометричний матеріал, а учень на основі цього складає приклад на додавання і два приклади на віднімання.
52043. Морфологія. Орфографія. Загальна характеристика частин мови 103.5 KB
  Загальна характеристика частин мови МЕТА: поглибити знання про морфологію як розділ науки про мову його зміст і завдання; розвивати вміння і навички розпізнавати вивчені частини мови в реченнях розуміти їх роль у мовленні визначати відомі граматичні ознаки; формувати в учнів навички правильного написання слів вміння визначати орфограми і застосовувати їх в писемному мовленні; формувати уміння узагальнювати набуті знання; розвивати усне і писемне мовлення; розвивати пам’ять...
52044. Поема «Мойсей»- одна з вершин творчості Івана Яковича Франка 56 KB
  Поема Мойсей одна з вершин творчості Івана Яковича Франка. Обладнання: портрет Івана Франка виставка книгілюстрації до поеми Мойсей карта мандрів Мойсея тематична стіннівка.Франка Мойсей історією написання ; підготувати розповідь про неї; випустити тематичні стіннівки. 1 група – науковці – подають матеріал про написання поеми Мойсей; 2 група – літературознавці презентують образ Мойсея та інші образи; 3 група – літературні критики розповідають про особливості стилю поеми Мойсей; 4 група – читці члени редколегії ...
52045. Багатство мови і мовлення: інтонаційне, лексичне, фразеологічне, морфологічне, синтаксичне 87.5 KB
  Плачинда мову Діти а як вам вдалося вдома уявити себе в різних образах Які мовні засоби забезпечують засвідчують багатство образність логічність мовлення Послухаємо. За допомогою яких художніх засобів ви досягли образності мовлення В яких стилях тропи використовуються менше У науковому та офіційноділовому Учні зачитують свої творимініатюри Перевтілення. Отже написавши твориперевтілення ви збагатили своє мовлення за допомогою різних художніх засобів стали на крок ближче до удосконалення свого мовлення.
52046. Урок здоров’я 49 KB
  Навчальна мета: використовуючи набуті знання учнями на уроках біології та фізики показати їх застосуванню в повсякденному житті, систематизувати відомості про здоров’я людини.
52047. День Именинника - сценарии дня рождения 28 KB
  Конкурс для неименинников. Конкурс Парикмахеры Конкурс для всех команд. Конкурс Повара От каждой команды по одному участнику. Конкурс Подарок Пока кулинары готовятся подумаем чего же нам еще не хватает.
52048. Супер-сценарий маскарадного Нового года 25 KB
  Компания из 11 человек:1 Дед Мороз: настоящий костюм урвали у знакомых;2снежная королева: серое вечернее платье на шее колье из горного стекла думаю есть у любой девушки на крайний случай можно сделать самой из мишурыдождик из проволоки сделала каркас высокого воротника купила стальную блестящую ткань 2м. это была моя замораживающая палочка;3царь: из картона и фальги корона скипетр и держава из фальги и сподручных средств накидка из старого покрывала обшитого красной мишурой;4серкетарь царя: можно обычный строгий костюм;5шут...
52049. Маскарад для любимого 23.5 KB
  Костюм горничной: черный комплект белья обшила белым кружевом благо оно продается практически везде. Костюм медсестры: нашить на белое белье красные крестики совсем несложно также как и найти белые чулки. Костюм школьницы: здесь проблем практически не возникло короткая юбочка со складками и подходящая рубашечка в моем гардеробе нашлись очень легко. Костюм чертенка: рожки продаются в большинстве детских отделов а красночерное белье я нашла в своем гардеробе.