private
lebih disukai untuk data anggota. Anggota dalam kelas C ++ secara private
default.
public
lebih disukai untuk fungsi anggota, meskipun itu masalah pendapat. Setidaknya beberapa metode harus dapat diakses. public
dapat diakses oleh semua. Ini adalah opsi yang paling fleksibel dan paling tidak aman. Siapa saja dapat menggunakannya, dan siapa pun dapat menyalahgunakannya.
private
sama sekali tidak dapat diakses. Tidak ada yang bisa menggunakannya di luar kelas, dan tidak ada yang bisa menyalahgunakan mereka. Bahkan di kelas turunan.
protected
adalah kompromi karena dapat digunakan dalam kelas turunan. Ketika Anda berasal dari kelas, Anda memiliki pemahaman yang baik tentang kelas dasar, dan Anda berhati-hati untuk tidak menyalahgunakan anggota ini.
MFC adalah pembungkus C ++ untuk Windows API, ia lebih suka public
dan protected
. Kelas yang dihasilkan oleh Visual Studio penyihir memiliki campuran jelek protected
, public
dan private
anggota. Tetapi ada beberapa logika untuk kelas MFC sendiri.
Anggota seperti SetWindowText
itu public
karena Anda sering perlu mengakses anggota ini.
Anggota seperti OnLButtonDown
, menangani notifikasi yang diterima oleh jendela. Mereka tidak boleh diakses, oleh karena itu merekaprotected
. Anda masih dapat mengaksesnya di kelas turunan untuk mengabaikan fungsi-fungsi ini.
Beberapa anggota harus melakukan utas dan loop pesan, mereka tidak boleh diakses atau diganti, sehingga mereka dinyatakan sebagai private
Dalam struktur C ++, anggota secara public
default. Struktur biasanya digunakan hanya untuk data, bukan metode, oleh karena itu public
deklarasi dianggap aman.