Private

id02009

private - słowo kluczowe; oznacza dostępność składowych z danej klasy.

Do składowych private danej klasy dostęp mają tylko metody tej klasy oraz metody klas zaprzyjaźnionych (Friend).
Ten zakres widoczności jest domyślny, więc można go pominąć (*):

Przykład

class klasa1
{
  private:
    int x;
 
  public:
    friend class klasa2;
} obiekt1;
 
class klasa2
{
  public:
    void  metoda(klasa1 &p)
    {
       p.x=12;
    }
} obiekt2;
 
obiekt1.x=12;  // spowoduje błąd kompilacji
 
obiekt2.metoda(obiekt1); 
/* to wywołanie jest dozwolone, gdyż klasa2 jest zaprzyjażniona z klasa1, więc jej metdy maja dostęp do składowych private. Efektem wywołania tej funkcji bedzie uaktualnienie
atrybutu x obiektu obiekt1 */

(*) - klasę klasa1 mozna równiez zdefiniowć tak (efekt będzie identyczny):

class klasa1
{
  int x;  // pominięto słowo kluczowe private
 
  public:
    friend class klasa2;
} obiekt1;

Zobacz też:

0 komentarzy