c++ pretypovanie nadtriedy na podtriedu

Sekcia: Programovanie 21.01.2010 | 09:21
Avatar Vladimir Magyar Arch Linux  Používateľ
cafte ... mam takyto problem: spravyl som si zoznam objektov. do tohto zoznamu vkladam podtriedy tohto objektu. no a potrebujem zistit ze co to vlastne je a ako to pretypujem...zhruba nieco takehoto:

class SuperClass {
int a;
SuperClass(){};
};

class SubClass1:public SuperClass {
int b;
SubClass1(){};
};


class SubClass2:public SuperClass {
int c;
SubClass2(){};
};

potom vytvorim pointer SuperClass a dam do neho instanciu SubClass1 alebo SubClass2:

SuperClass *p = new SubClass1();

potrebujem vediet:

1.) ako zistim aka instancia je v p (v pascale by to bolo asi takto: (p instance of SubClass1))
2.) ako mozem pristupovat ku premennym co podtrieda ma a nadtrieda nema napr.: p->b; //toto mi kompilator nezoberie.

za odpovede voprede dakujem :P
In a world without walls and fences, who needs windows and gates?
    • Re: c++ pretypovanie nadtriedy na podtriedu 21.01.2010 | 09:56
      Avatar borg Arch, Debian jessie  Administrátor
      skus sa pozriet na RTTI