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.

   


 

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

10884. Оцінка результатів проектної діяльності. Виставка робіт. Тематичне оцінювання 15.72 KB
  Тема: Оцінка результатів проектної діяльності. Виставка робіт. Тематичне оцінювання. Мета: виявити рівень сформованості навичок обробки фанери і ДВП; розвивати навички самоконтролю та політехнічне мислення; виховувати культуру праці. Об'єкти практичної діяльності ...
10885. Типові і спеціальні деталі 57.5 KB
  Типові і спеціальні деталі. Види з'єднань деталей Мета: дати поняття про типові й спеціальні деталі; ознайомити з призначенням та загальною будовою коловорота ручного дриля затискачів столярних верстаків; розвивати інтерес до техніки розширювати технічний кругозір
10886. Поняття про провідники та ізолятори. Проводи та їх види 155 KB
  Тема уроку: Поняття про провідники та ізолятори. Проводи та їх види. Мета уроку. Засвоєння знань про будову і призначення ізольованих проводів правила безпечної роботи під час виконання електротехнічних робіт. Формування умінь здійснювати монтаж простого електричного...
10887. Конструкційні матеріали і їх вибір Види конструкційних матеріалів 78 KB
  Тема. 1.4. Конструкційні матеріали і їх вибір Види конструкційних матеріалів. Мета: ознайомити учнів з різними видами конструкційних матеріалів видами та породами дерев особливостями їх будови характерними ознаками способами заготівлі та одержання пиломатеріалів...
10888. Технологія робіт лобзиком. Технологічний процес пиляння. Прийоми пиляння лобзиком. Організація робочого місця 75 KB
  Тема. Технологія робіт лобзиком. Технологічний процес пиляння. Прийоми пиляння лобзиком. Організація робочого місця. Мета: сформувати в учнів поняття про процес різання та уявлення про технологію пиляння фанери і ДВП; розвивати політехнічне мислення; виховувати культу...
10889. Процес випилювання з фанери й ДВП, обпилювання, шліфування 237 KB
  Тема уроку: Процес випилювання з фанери й ДВП обпилювання шліфування. Мета уроку. Формування вмінь виконувати обпилювання фанери; закріплення знань про обпилюваяння деревини. Розвивати точність окомір. Виховувати акуратність виконавчу дисципліну творче ставлення д
10890. Технологія обробітку та захисту ґрунтів 63.5 KB
  Тема уроку: Технологія обробітку та захисту ґрунтів. Мета уроку. Засвоєння знань про типи структуру та родючість ґрунтів; ручні знаряддя праці; прийоми і послідовність ручного обробітку ґрунту; види механізованого обробітку ґрунту; правила безпечної праці та особист
10891. Благоустрій і озеленення приміщень і території 36 KB
  Тема: Благоустрій і озеленення приміщень і території. Мета уроку: Засвоєння знань про роль і місце зелених насаджень у житті людини умови використання у насадженнях різних порід породи декоративних і захисних рослин. Обєкт навчальної праці: проектування зелених нас...