Tengo la clase LD que contiene a otra LN, a su vez LN puede ser de diferentes clases, por lo que estoy intentando utilizar clases abtractas, defino a LN como clase abstracta y a otras (por ejemplo XCBR) como clases concretas. este es el programita:
class LN
{
public:
char LNName[10];
char LNRef[30];
char Data[100];
struct {float ctVal,stVal,q,t;} Pos;
LN(){};
~LN(){};
};
class XCBR : public LN
{
public:
int b;
XCBR(){};
~XCBR(){};
};
class LD
{
public:
char LDName[30];
char LDRef[30];
char LogicalNode[100];
LN *LN;
LD()
{
LN = new XCBR;
}
;
~LD(){};
};
void main()
{
LD LD;
LD.LN->b;
}
O sea que el objeto LN del main es de la clase abstracta LN y clase concreta XCBR (no se si se dice de esta manera). El tema es que el atributo b esta declarado en la clase XCBR y desde el main me dice que la clase LN no tiene un atributo b, lo cual es correcto, pero en realidad no hace lo que yo quiero hacer con clases abstractas que es que el objeto contenga los atributos de la clase LN y XCBR.
Pido ayuda
gracias