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.

   


 

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

37242. Утилита 40.5 KB
  Так компьютерные утилиты можно разделить на три группы: Утилиты сервисного обслуживания компьютера утилиты расширения функциональности и информационные утилиты. Утилиты сервисного обслуживания УСО К УСО относятся все виды сервисных программ такие как утилиты по: дефрагментации проверке и исправлению структуры разделов жёсткого диска исправлению системных зависимостей тонкой настройке системы и т. Утилиты по контролю ошибок и повреждений структуры разделов и SMRTревизоры Проверяют на наличие ошибок файловую систему и устройство...
37243. Что такое мультимедиа и мультимедиа-компьютер 32.5 KB
  Мультимедиакомпьютер это компьютер снабженный аппаратными и программными средствами реализующими технологию мультимедиа. Области применения мультимедиа Обучение с использованием компьютерных технологий Специальными исследованиями установлено что из услышанного в памяти остается только четверть из увиденного треть при комбинированном воздействии зрения и слуха 50 а если вовлечь учащегося в активные действия в процессе изучения при помощи мультимедийных приложений 75 [46]. Технологию мультимедиа составляют две основные...
37244. Как возник Интернет 89 KB
  Поэтому многие ошибочно думают будто Всемирная паутина это и есть Internet. С ее появлением и началось триумфальное шествие Internet как средства информации и коммуникации для каждого. С этого времени в Internet начали активно выходить также обычные рядовые пользователи.
37245. Операционная система, ее назначение и функции 423.5 KB
  Вопрос 17 Организация файловой системы Все современные дисковые операционные системы обеспечивают создание файловой системы предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы табличный. Формат служебных данных определяется конкретной файловой системой. Но для дисков большого объема такой подход неэффективен а для некоторых файловых систем и просто невозможен.
37246. Операционные системы. Их назначение и функции 69.5 KB
  Windows Серверные использующиеся в серверах сетей как центральное звено а также в качестве элементов систем управления; основная черта надежность; представители UNIX Windows NT Специализированные ОС ориентированные на решение узких классов задач с жестким набором требований высокопроизводительные вычисления управление в реальном времени;такие системы неразрывно связаны с аппаратной платформой; представители специализированные версии UNIX системы собственной разработки; Мобильные ОС вариант развития настольных ОС на...
37247. Внутренняя память 81.5 KB
  К ним относятся оперативная память постоянная память и энергонезависимая память. Оперативная память RM Rndom ccess Memory Память RM это массив кристаллических ячеек способных сохранять данные. Она используется для оперативного обмена информацией командами и данными между процессором внешней памятью и периферийными системами.
37248. Программное обеспечение. Уровни ПО 74.5 KB
  Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах называемых постоянными запоминающими устройствами ПЗУ Red Only Memory ROM. Эти программные средства называют средствами обеспечения пользовательского интерфейса. Средства сжатия данных архиваторы.
37249. Организация файловой системы 399 KB
  Файловая система определяет где и каким образом на носителе будут записаны файлы и представляет операционной системе доступ к этим файлам. Любая файловая система предназначена для хранения информации о физическом размещении частей файла. От файловой системы требуется четкое выполнение следующих действий: Определение физического расположения частей файла; Определение наличия свободного места и выделение его для вновь создаваемых файлов.
37250. Работа с формулами 410.46 KB
  В Excel в качестве операнда могут выступать константы ссылки на ячейки имена или функции значения которых будут использованы. Пересчет можно провести непосредственно из окна Параметры: кнопка Вычислить F9 вычисление значений для всех открытых листов включая таблицы данных а также обновление всех открытых диаграмм; кнопка Пересчет листа выполнение расчетов по текущему листу а также по связанным с ним диаграммами и таблицами данных Ошибка Если пользователь допустил ошибку в ячейке с формулой появится одно из следующих...