Código (cpp) [Seleccionar]
class ClaseA
{
public:
int a;
private:
int b;
protected:
int c;
};
class HPublica : public ClaseA
{
int getNum(){ return a*c;};
};
class HPrivada : private ClaseA
{
int getNum(){ return a*c;};
};
class HProtegida : protected ClaseA
{
int getNum(){ return a*c;};
};
#pragma argsused
int main(int argc, char* argv[])
{
HPublica pub;
pub.a;
HPrivada priv;
HProtegida proc;
ClaseA claseA1 = pub;
ClaseA claseA2 = priv;//Error!!!
ClaseA claseA3 = proc;//Error!!!
return 0;
}
Creo que sigo sin entender los tipos de herencia :S
Quisiera saber xq me da error al compilar(cannot convert HPrivada to ClaseA y lo mismo con HProtegida) las 2 sentencias que pongo como error!!, es acaso porque al ser herencias del tipo privado o protegida sus instancias no conservan nada de la clase base?
salu2 y gracias