Foros del Web » Programación para mayores de 30 ;) » C/C++ »

error al leer datos herencia, muy simple

Estas en el tema de error al leer datos herencia, muy simple en el foro de C/C++ en Foros del Web. tengo 3 clases .cpp con sus .h: main.cpp main.h aaa.cpp aaa.h bbb.cpp bbb.h Quiero que desde la clase bbb pueda leer la info que tiene ...
  #1 (permalink)  
Antiguo 04/05/2009, 09:02
 
Fecha de Ingreso: febrero-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 3
error al leer datos herencia, muy simple

tengo 3 clases .cpp con sus .h:
main.cpp main.h
aaa.cpp aaa.h
bbb.cpp bbb.h

Quiero que desde la clase bbb pueda leer la info que tiene la clase aaa pero no lo consigo:

os adjunto el código, es simple:

main.cpp
Código:
#include "main.h"

#include <fstream>
#include <iostream>

aaa * claseA;
bbb * claseB;

int main(int argc,char *argv[]) 
{
	claseA = new aaa[5];
	claseB = new bbb[5];
	
	for (int i=0;i<5;i++)
	{
		claseA[i].vervalorA();
		claseB[i].vervalorB();
	}
	
	claseB[0].ConsultaValoresA();
	return 0;
}
main.h
Código:
using namespace std;
#include <fstream>
#include <iostream>

#include "aaa.h"
#include "bbb.h"
aaa.cpp
Código:
using namespace std;

#include "aaa.h"

aaa::aaa()
{
	cout<<"ConstructorA"<<endl;
	numeroA=5;
}

void aaa::vervalorA()
{
	cout<<"ValorA: "<<numeroA<<endl;
}

aaa::~aaa()
{
	numeroA=0;
}
aaa.h
Código:
#ifndef _AAA_H_
#define _AAA_H_

#include <string.h>
#include <iostream>
#include <fstream>

class aaa
{
	public:
		int numeroA;
	public:
		aaa();
		void vervalorA();
		~aaa();

};

#endif
bbb.cpp
Código:
using namespace std;

#include "bbb.h"

bbb::bbb()
{
	cout<<"ConstructorB"<<endl;
	numeroB=4;
}

void bbb::vervalorB()
{
	cout<<"ValorB: "<<numeroB<<endl;
}

void bbb::ConsultaValoresA()
{
	cout<<"Quiero Ver los valores de aaa!"<<endl;
	
	aaa * verValoresA; //estas dos lineas no sé si están bien...
	
	cout<<"Tendría que sacar un 5: "<<endl;
                verValoresA[0].vervalorA();
}

bbb::~bbb()
{
	numeroB=0;
}
bbb.h
Código:
#include <iostream>
#include <fstream>

#include "aaa.h"

class bbb : public aaa
{
	public:
		int numeroB;
	public:
		bbb();
		void vervalorB();
		void ConsultaValoresA();
		~bbb();

};

#endif
....
Quiero Ver los valores de aaa!
Tendría que sacar un 5:
ValorA: -1487919617



No puedo continuar sin esto!!!! Gracias....

Última edición por red_robe; 04/05/2009 a las 09:07
  #2 (permalink)  
Antiguo 04/05/2009, 12:15
Avatar de m4xp0wer  
Fecha de Ingreso: septiembre-2007
Mensajes: 66
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: error al leer datos herencia, muy simple

Cuando llamas a vervalorA, la variable interna de la clase B verValoresA no está inicializada, y aunque lo estuviera, no te devolvería lo que tu quieres. En la llamada a verValorA deberías pasarle una referencia a un objeto de la clase A verValorA(aaa *claseA)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:33.