Функции-члены (C++)

Классы могут содержать данные и функции.Эти функции называются "функции-члены." Любая функция, объявленная в объявление нестатического считается функцией-членом класса и вызывается с помощью операторов (участник-выделения**.** и - >).При вызове функции элементов из других функций элементов того же класса, объекта и оператор участник-выделения можно опустить.Примеры.

// member_functions1.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

class Point
{
public:
   short x()
   {
      return _x;
   }
   
   short y()
   {
      return _y;
   }

   void  Show()
   {
      cout << x() << ", " << y() << "\n";
   }
private:
   short _x, _y;
};

int main()
{
   Point pt;
   pt.Show();
}

Обратите внимание, что в функции-члене, Showвызовы другим функции-членам, x и yвыполните без операторов участник-выделения.Эти вызовы неявно средства this->x() и this->y().Однако в пределах Главнаяв функцию-член, Show, быть установлен с помощью объекта pt оператор and (участник-выделения**.**).

Статические функции, объявленные внутри класса могут вызываться с помощью операторов участник-выделения или полное имя функции (включая имя класса).

ПримечаниеПримечание

Функция, объявленная с помощью friend ключевое слово не считается членом класса, в котором он объявлен как a friend (хотя может быть членом другого класса).A friend объявление управляет к функции nonmember данные класса.

Следующее объявление класса объявляются и вызываются показано, как функции-члены:

// member_functions2.cpp
class Point
{
public:
   unsigned GetX()
   {
      return ptX;
   }
   unsigned GetY()
   {
      return ptY;
   }

   void SetX( unsigned x )
   {
      ptX = x;
   }
   void SetY( unsigned y )
   {
      ptY = y;
   }

private:
    unsigned ptX, ptY;
};

int main()
{
   // Declare a new object of type Point.
   Point ptOrigin;

   // Member function calls use the . member-selection operator.
   ptOrigin.SetX( 0 );
   ptOrigin.SetY( 0 );

   // Declare a pointer to an object of type Point.
   Point *pptCurrent = new Point;
   // Member function calls use the -> member-selection operator.
   pptCurrent->SetX( ptOrigin.GetX() + 10 );
   pptCurrent->SetY( ptOrigin.GetY() + 10 );
}

В приведенном выше коде функции-члены объекта ptOrigin вызвать с помощью оператора участник-выделения (.).Однако функции-члены объекта указали к которым следуют pptCurrent вызовите использование - > оператор участник-выделения.

См. также

Ссылки

Классы, структуры и объединения