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.

   


 

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

32312. Общая характеристика власти догосударственного периода 37 KB
  Любое общество представляет собой своего рода целостный социальный организм систему который отличается той или иной степенью организованности урегулированности упорядоченности общественных отношений. Для первобытнообщинного строя были характерны следующие черты: наличие лишь примитивных орудий и неспособность человека без помощи всего рода выжить и обеспечить себя пищей одеждой жилищем. Все взрослое население рода и мужчины и женщины имели право участвовать в обсуждении и решении любого вопроса связанного с деятельностью рода....
32313. Азиатский способ производства и возникновение государств на Др.Востоке (восточно-деспотических государств) 34.5 KB
  Постепенно по мере роста масштабов кооперации коллективной трудовой деятельности зародившиеся еще в родоплеменных коллективах зачатки государственной власти превращаются в органы управления и господства над суммами общин которые в зависимости от широты экономических целей складываются в микро и макрогосударства объединяемые силой централизованной власти. Общинники считаются свободными однако фактически все стало государственной собственностью включая личность и жизнь всех подданных которые оказались в безраздельной власти...
32314. Возникновение государственности в Европе (Афины, Рим, германцы, славяне). Общие закономерности и особенности 50 KB
  В отличие от азиатского государства ведущим государствообразующим фактором на территории Европы было классовое разделение общества. Следовательно для генезиса Афинского государства характерно то что оно возникает непосредственно и прежде всего из классовых антагонизмов развивающихся в недрах родоплеменного общества. В длившейся 200 лет борьбе между двумя группами свободных членов римского родоплеменного общества плебеи вырывали у патрициев одну уступку за другой. Если само положение Греции и Рима способствовало...
32315. Теории возникновения государства и права 43 KB
  Одни государства подчас могут распадаться СССР Югославия Чехословакия; другие объединяются в более крупные такой процесс возможно начался в рамках Европейского Союза. Могут зародиться новые причины и формы такого возникновения что бесспорно только обогатит теорию государства. Основные теории происхождения государства теологическая патриархальная договорная насилия органическая материалистическая психологическая патримониальная и ирригационная ставят во главу угла какойлибо один конкретный доминирующий способ...
32316. Государственная власть: понятие и общие черты 33 KB
  В юридической литературе одни авторы рассматривают власть как определенную функцию присущую любому коллективу обществу; другие исследователи как волевое отношение властеотношение властвующего и подвластного субъектов; третьи как способность властвующего управляющего навязывать свою волю другим лицам; четвертые как организованную силу способную подчинять воле определенной социальной общности других людей. Власть понимается также как управление связанное с принуждением. И наконец зачастую под властью понимается государство или его...
32317. Сущность государства. Признаки и определение понятия государства. Различные подходы к определению понятия государства 45 KB
  Сущность государства. Признаки и определение понятия государства. Различные подходы к определению понятия государства. Его определяют и как общественный союз свободных людей с принудительно установленным мирным порядком посредством предоставления исключительного права принуждения только органам государства Н.
32318. больших группах классах тех или иных объектов обладающих набором общих характерных для каждого типа приз 27.5 KB
  В его основе лежит учение об общественноэкономической формации которая включает в себя тип производственных отношений базис и соответствующий ему тип надстройки государство право и т. Ленина и других решающим фактором общественного развития который детерминирует и соответствующий тип надстроечных элементов: государство и право. Рабовладельческое государство есть орудие поддержания власти рабовладельцев над рабами которые были собственностью свободных граждан. Феодальное государство это диктатура класса феодалов земельных...
32319. Внутренние функции государства. Их виды и характеристика в различных типах государства 43.5 KB
  Внутренние функции государства. Внутренние функции государства представляют собой основные направления разнообразной внутренней деятельности государства обусловленные необходимостью решения стоящих перед ним внутренних задач. Таковой была например позиция ряда авторов классифицировавших функции государства еще в 70е годы на функции политической охраны строя политическая функция а также на экономическую социальную и идеологическую функции. Правда при этом оговаривалась возможность и более дробной полностью не совпадающей с различными...
32320. Цивилизационный подход к типологии государств. Понятие цивилизаций. Виды цивилизаций и соответствующих типов государств при различных разновидностях цивилизационного подхода (Тойнби, Ростоу, Сорокин) 45 KB
  Цивилизационный подход это исследование состояния и развития общества закономерностей смены исторических типов государств с точки зрения качественных изменений в социокультурной среде общества в духовной культуре народа его религии и нравах. Цивилизационный подход выделяет три принципа соотношения государства и духовнокультурной жизни общества: Природа государства определяется не только реальным соотношением сил но и накопленными в ходе исторического процесса представлениями о мире ценностями образцами поведения. Цивилизация есть...