50397 (762419), страница 2
Текст из файла (страница 2)
Каждый объект класса имеет свой физический адрес и его можно извлечь из указателя this. Это внутренний (как бы скрытый от "прямого взгляда") указатель, который есть у каждого класса. На самом деле мы всегда неявно используем указатель this, когда обращаемся к членам внутри области видимости функции-члена класса. Вот пример:
сlass THIS_DEMO
{
public:
THIS_DEMO(){ this->a = 5; } //обычно мы просто пишем а=5;
... //все остальное
private:
int a;
};
Имеется класс, в котором описан конструктор и член класса int a в закрытой секции (private) класса. В конструкторе THIS_DEMO содержится присваивание целочисленному члену а значения 5. Обычно this явно не указывается, просто пишут а = 5;. Но в данном случае мы демонстрируем, то, что всегда неявно происходит - использование this внутри функций-членов класса при обращении к членам класса.
Конечно, нет надобности использовать этот указатель для обращения к членам класса изнутри класса, но это единственное средство сослаться из объекта на объект в целом. Указатель this иногда бывает крайне полезен.
Ну вот, на этот раз все.
Следующий материал будет разбит на несколько частей и посвящен проблемам копирования и присваивания в классах.
Если вам интересно, или возникают вопросы - пишите, разберемся.
Список литературы
P.Kimmel Using Borland C++ 5 Special Edition перевод BHV - С.Петербург 1997
Для подготовки данной работы были использованы материалы с сайта http://my-pc.jino.ru/