el tema es que estoy haciendo un programa en C++ utilizando clases. el problema es que no se como acceder desde una subclase a un miembro de una superclase. es decir: se supone que la subclase hereda el miembro desde la superclase, pero no puedo acceder al mismo o, mejor dicho, no me devuelve el valor que deberia devolverme. evidentemente algo estoy haciendo mal.
estas son las implementaciones de clases:
clase "Consola"
Código:
clase "P6502"class CConsola { public: virtual ~CConsola() { free(RAM); free(VRAM); free(SRAM); } BYTE *RAM, *VRAM, *SRAM; public: inline int LoadCart(char* FileName); };
Código:
definicion de la funcion "Reset6502"class CP6502 : public CConsola { public: BYTE A, X, Y, SP; BYTE C_FLAG, Z_FLAG, N_FLAG, V_FLAG, B_FLAG, D_FLAG, I_FLAG; WORD PC; int Ciclos; public: inline void Reset6502(void); };
Código:
ahora bien, cuando muestro el valor del miembro "PC", se muestra "C3E7", cuando en realidad deberia decir "8000". dado el valor observado, asumo que en "PC" se esta almecenando una direccion de memoria, como si de un puntero se tratase, y no es esto lo que en realidad estoy intentando hacer.inline void CP6502::Reset6502(void) { A = X = Y = 0; SP = 0xFD; C_FLAG = Z_FLAG = N_FLAG = V_FLAG = B_FLAG = D_FLAG = 0; I_FLAG = 1; Ciclos = 0; PC = (CConsola::RAM[0xFFFD] << 8) | CConsola::RAM[0xFFFC]; return; }
lo que necesito es recoger en el miembro "PC" de la subclase "P6502" el valor almacenado en el miembro "RAM[xxxx]" de la superclase "Consola".
cualquier sugerencia/ayuda sera bienvenida y gracias a todos de antemano.