Язык программирования C++. Вводный курс

Функции-члены класса


Функции-члены реализуют набор операций, применимых к объектам класса. Например, для Screen

такой набор состоит из следующих объявленных в нем функций-членов:

class Screen {

public:

   void home() { _cursor = 0; }

   char get() { return _screen[_cursor]; }

   char get( int, int );

   void move( int, int );

   bool checkRange( int, int );

   int height() { return _height; }



   int width()  { return _width; }

   // ...

};

Хотя у любого объекта класса есть собственная копия всех данных-членов, каждая функция-член существует в единственном экземпляре:

Screen myScreen, groupScreen;

myScreen.home();

groupScreen.home();

При вызове функции home() для объекта myScreen

происходит обращение к его члену _cursor. Когда же эта функция вызывается для объекта groupScreen, то она обращается к члену _cursor именно этого объекта, причем сама функция home() одна и та же. Как же может одна функция-член обращаться к данным-членам разных объектов? Для этого применяется указатель this, рассматриваемый в следующем разделе.



Содержание раздела