private
se prefiere para los datos del miembro. Los miembros en las clases de C ++ son private
por defecto.
public
es preferido para las funciones de los miembros, aunque es una cuestión de opinión. Al menos algunos métodos deben ser accesibles. public
Es accesible para todos. Es la opción más flexible y menos segura. Cualquiera puede usarlos y cualquiera puede abusar de ellos.
private
no es accesible en absoluto. Nadie puede usarlos fuera de la clase, y nadie puede usarlos mal. Ni siquiera en clases derivadas.
protected
es un compromiso porque puede usarse en clases derivadas. Cuando deriva de una clase, comprende bien la clase base y tiene cuidado de no hacer un mal uso de estos miembros.
MFC es un contenedor de C ++ para la API de Windows, prefiere public
y protected
. Clases generadas por Visual Studio Asistente tienen una mezcla de fea protected
, public
y private
miembros. Pero hay algo de lógica en las clases de MFC.
Miembros como SetWindowText
son public
porque a menudo necesita acceder a estos miembros.
Los miembros como OnLButtonDown
, manejan las notificaciones recibidas por la ventana. No deben ser accedidos, por lo tanto son protected
. Todavía puede acceder a ellos en la clase derivada para anular estas funciones.
Algunos miembros tienen que hacer hilos y bucles de mensajes, no se debe acceder a ellos ni anularlos, por lo que se declaran como private
En estructuras C ++, los miembros son public
por defecto. Las estructuras generalmente se usan solo para datos, no para métodos, por lo tanto, la public
declaración se considera segura.