¿Cuál es la diferencia entre public
, private
y protected
herencia en C++?
Todas las preguntas que he encontrado en SO tratan de casos específicos.
Solución del problema
class A
{
public:
int x;
protected:
int y;
private:
int z;
};
class B: public A
{
// x is public
// y is protected
// z is not accessible from B
};
class C: protected A
{
// x is protected
// y is protected
// z is not accessible from C
};
class D: private A // 'private' is default for classes
{
// x is private
// y is private
// z is not accessible from D
};
NOTA IMPORTANTE: Las clases B, C y D contienen todas las variables x, y y z. Es solo una cuestión de acceso.
Sobre el uso de la herencia protegida y privada, puede leer aquí.
No hay comentarios:
Publicar un comentario