logo
Лабораторная работа 7new

Ключевое слово this

Нестатические функции-элементы воздействуют на объект типа класс, с которым они вызваны. Например, если х - это объект класса Х и f - это функция-элемент Х, то вызов функции х.f() воздействует на х. Аналогично, если xptr - это указатель на объект Х, вызов функции xptr->f() воздействует на *xptr. Но откуда f знает на какой х воздействовать? C++ предоставляет с f указатель на х, называемый this. this передается как скрытый аргумент во всех вызовах нестатических функций элементов.

Ключевое слово this - это локальная переменная, доступная в теле любой нестатической функции-элементе. this не нужно объявлять и она редко явно используется в определении функции. Однако она используется неявно внутри функции при ссылках к элементам. Если вызывается х.f(y), где y - это элемент Х, this устанавливается в &x и y устанавливается в this->y, что эквивалентно x.y.