Prywatne pola jak i metody sa dostepne w wewnatrz klasy. Zmienną prywatną mozna przyrównać do zmiennej lokalnej w funkcji czy w metodzie, nie jest ona widoczna poza nią, tak jak zmienna prywatna nie jest dostepna/widoczna poza klasa, nie da sie bezposrednio odwolac do prywatnego pola klasy w taki sposob:
egzemplarz_klasy->pole_prywatne
Jednak wiemy ze wewnatrz klasy (czyli np. w jakiejs metodzie tej klasy) mozemy bezproblemu i do woli korzystać ze zmiennej/metody prywatnej. Trzeba więc stworzyć publiczną metodę, za pomocą której bedziemy mogli albo wydostać wartość zmiennej prywatnej, albo przypisać do niej jakąś inną wartość.
Chcac dostać wartość z pola prywatnego stosuje się metode publiczna, która zwróci tą konkretną wartość np.:
class A
{
private:
int polePrywatne;
public:
int podajPolePrywatne()
{
return polePrywatne;
}
}
int main()
{
A obiekt;
int wartoscPola = obiekt->podajPolePrywatne();
return 0;
}
Analogicznie robi się chcac zmienic/dodac wartosc do pola prywatnego klasy, wowczas metoda publiczna bedzie przyjmowala jakis argument np.:
class A
{
private:
int polePrywatne;
public:
void ustawPolePrywatne( int wartosc)
{
polePrywatne = wartosc;
}
}
int main()
{
A obiekt;
obiekt->ustawPolePrywatne( 1000 );
return 0;
}