Programowanie w języku C/C++

Private

  • 2006-04-18 11:30
  • 0 komentarzy
  • 1597 odsłon
  • Oceń ten tekst jako pierwszy
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ż: