Share via


privat (C++)

Sintaks

private:
   [member-list]
private base-class

Keterangan

Saat mendahului daftar anggota kelas, private kata kunci menentukan bahwa anggota tersebut hanya dapat diakses dari fungsi anggota dan teman kelas. Ini berlaku untuk semua anggota yang dinyatakan hingga penentu akses berikutnya atau akhir kelas.

Saat mendahului nama kelas dasar, private kata kunci menentukan bahwa anggota publik dan terlindungi dari kelas dasar adalah anggota privat dari kelas turunan.

Akses default anggota di kelas bersifat privat. Akses default anggota dalam struktur atau serikat adalah publik.

Akses default kelas dasar bersifat privat untuk kelas dan publik untuk struktur. Serikat tidak boleh memiliki kelas dasar.

Untuk informasi terkait, lihat tabel teman, publik, terlindungi, dan akses anggota di Mengontrol Akses ke Anggota Kelas.

/clr Spesifik

Dalam jenis CLR, kata kunci penentu akses C++ (public, private, dan protected) dapat memengaruhi visibilitas jenis dan metode sehubungan dengan rakitan. Untuk informasi selengkapnya, lihat Kontrol Akses Anggota.

Catatan

File yang dikompilasi dengan /LN tidak terpengaruh oleh perilaku ini. Dalam hal ini, semua kelas terkelola (publik atau privat) akan terlihat.

END /clr Spesifik

Contoh

// keyword_private.cpp
class BaseClass {
public:
   // privMem accessible from member function
   int pubFunc() { return privMem; }
private:
   void privMem;
};

class DerivedClass : public BaseClass {
public:
   void usePrivate( int i )
      { privMem = i; }   // C2248: privMem not accessible
                         // from derived class
};

class DerivedClass2 : private BaseClass {
public:
   // pubFunc() accessible from derived class
   int usePublic() { return pubFunc(); }
};

int main() {
   BaseClass aBase;
   DerivedClass aDerived;
   DerivedClass2 aDerived2;
   aBase.privMem = 1;     // C2248: privMem not accessible
   aDerived.privMem = 1;  // C2248: privMem not accessible
                          //    in derived class
   aDerived2.pubFunc();   // C2247: pubFunc() is private in
                          //    derived class
}

Baca juga

Mengontrol Akses ke Anggota Kelas
Kata kunci