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.

   


 

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

23164. ІМПРЕСІОНІЗМ ТА ЕКСПРЕСІОНІЗМ 31.55 KB
  Щобільше деякі критики переконані що Мунк який жив не тільки ь Німеччині але й у Франції репрезентує своєю творчістю щасливу синтезу французьких і німецьких тенденцій експресіонізму. З тих причин 1910 рік часто вважають роком початку експресіонізму. Проте назва експресіонізм та Й сама ця творча манера існувала серед французьких мистців вже майже десять років перед її популяризацією в Европі; започатковано її у мистецькому колі Анрі Матісса.
23165. Історія любові та історія України у романі Л. Костенко «Маруся Чурай» 29 KB
  Костенко Маруся Чурай Я вибрала долю собі сама.віршах Маруся Чурай який справедливо назвала критика енциклопедією духовного життя українського народу в XVII столітті. Та чи не найповніше змальовано головну героїню Марусю Чурай. Про Марусю Чурай написано повісті п'єси поеми.
23166. Краса і щирість почуттів в інтимній ліриці Василя Симоненк 28.5 KB
  Симоненка переважно тісно поєднані з пейзажними соціальними громадянськими все ж вірші про кохання у його поетичній спадщині займають чільне місце. Самовіддане глибоке кохання сповнює ліричного героя у вірші €œОбражайся на менеяк хочеш€. Несподівано прийшла любов до ліричного героя у вірші €œВона прийшла€. Такими є вірші €œРозвели нас дороги похмурі.
23168. Літературний гурт Молода муза 89 KB
  То й не дивно гурток становила молодь вихідці із сіл та провінційних містечок Галичини вчорашні випусники університету або ті що його не закінчили канцеляристи вчителі гімназій чи €вільні художники€. І все ж таки його положення було краще ніж інших скажімо Яцківа чи Карманського. Нам зашивалися роти в його товаристві бо ми добре знали гостроту його язика та великі відомості з якими не один із нас не міг суперечити Говоріть що врешті відзивався Франко якому хотілося поговорити і забути...
23169. Місце і значення творчості В. Симоненка в українській літературі 24.5 KB
  Симоненка в українській літературі Поезія Василя Симоненка вийшла з глибин народного життя з мужності народу з його горя і героїчної боротьби. Симоненка. Симоненка досить широкий про що свідчить і поезія і художня проза. Симоненка в літературі про значення його поезії Олесь Гончар: Серед літераторів трапляються й такі без яких їхня доба могла б спокійно обійтись нічого істотного не втративши.
23170. Мотиви лiрики Василя Симоненка 30 KB
  Центральною в його творчостi слушно вважається патрiотична тема любовi до України її безталанного народу висловленої з недвозначною вiдвертiстю i в цьому пряме продовження шевченкiвських традицiй поєднана з iдеєю неповторностi людського я . Мiж цими датами напiвголодне довоєнне дитинство лихолiття й злиднi студентське братерство але й нашпигована пильними шукачами ворогiв народу атмосфера лiтературна студiя iменi Василя Чумака скорочено СIЧ творчi суперечки в гуртожитку далi активна участь у роботi Черкаського обласного...
23171. Нацiональний пафос поезiї Олега Ольжича 28 KB
  Звичка оцiнювати творчiсть поетiв за вiдповiднiстю тiй або iншiй iдеологiї зазвичай виправдана. До того ж подiбний пiдхiд нерiдко породжував флюгерiв вiд поезiї що завжди намагаються дотримуватись офiцiйного найзручнiшого курсу. Та все ж таки часом треба переступати через iдеологiчнi забобони й вiдокремлювати подумки поета вiд полiтика в однiй особi талант вiд переконань.
23172. Неокла́сики 34 KB
  На відміну від інших груп Неокласики не дбали про своє організаційне оформлення і не виступали з ідейноестетичними маніфестами. Те що неокласики прагнули впроваджувати в своїй творчості форми та методи грецького й римського мистецтва представникам влади здалось невизнанням радянської дійсності. Неокласики позиціонували себе як естетів і жорстко протиставляли себе народництву і романтизму. Неокласики належать до так званих письменників доби розстріляного відродження.