30. november 2002 - 21:03Der er
4 kommentarer og 1 løsning
Variabel nedarvning
Er det muligt at nedarve en variable i c++ på samme måde som owerride i pascal: Således at følgende passer:
class CChildBace;
class CParentBace { CChildBace * pClild; }
class CChildBace { Create( CParentBace * owner ) { owner->pChild = this } }
class CChild;
class CParent: public CParentBace { CChild * pClild; }
class CChild : public CChildBace { char * szName; CChild( CParent * owner , char * name ) { Create( owner ); szName = name; } }
CParent * p = new CParent; CChild * c = new CChild( p , "Fisk" );
nu ville det være rart hvis p->pChild->szName er "Fisk".. Men det er det ikke da pointeren pChild ikke er en pointer men 2. p->pChild er ikke det samme som ((CParentBace*)p)->pChild. I pascal kunne man ordne dette med key wordet owerride foran pChild, men hvad med c++??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.