Funkce členů (C++)
Třídy mohou obsahovat data a funkce.Tyto funkce jsou označovány jako "funkce členů." Jakékoli nestatické funkce deklarované uvnitř deklarace třídy je považován za členské funkce a je volána pomocí operátorů výběr členů (. and –>).Při volání funkce členů z jiné členské funkce stejné třídy, operátor objektu a výběr členů lze vynechat.Příklad:
// 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();
}
Všimněte si, že v členské funkce Show, volání na jiné funkce členů x a y, jsou provedeny bez výběru členů operátory.Tyto hovory implicitně rozumí this->x() a this->y().V hlavní, členské funkce Show, musí být vybrána pomocí objektu pt a výběr členů operátor (.).
Statická funkce deklarované uvnitř třídy lze volat pomocí operátorů výběr členů nebo zadáním funkce plně kvalifikovaný název (včetně názvu třídy).
[!POZNÁMKA]
Funkce deklarované pomocí friend klíčové slovo není považován za členem třídy, která je deklarována friend (i když může být členem jiné třídy).A friend prohlášení řídí přístup, má funkci nečlenský data třídy.
Následující deklaraci třídy ukazuje, jak je funkce členů deklarované a nazývá:
// 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 );
}
V předcházejícím kódu členské funkce objektu ptOrigin se nazývají pomocí operátoru výběr členů (.).Však členské funkce objektu odkazuje pptCurrent se nazývají pomocí – > operátor výběr členů.