OT C++ funkce potomka pres rodice - jde to ?

kratochvil na dbsystem.com kratochvil na dbsystem.com
Čtvrtek Srpen 8 20:02:45 CEST 2002


On Thu, Aug 08, 2002 at 05:48:48PM +0200, Vaclav Peroutka wrote:
> Zdravim,
> 
> Mam rodicovskou tridu TR a dve tridy potomku TP1 a TP2.
> 
> Dale mam pole pointeru (TR *) do ktereho schovavam potomky TP[1,2].
> 
> Muzu pristupovat pres tento pointer nejak na fuknce toho potomka, kdyz v 
> rodicovske tride nejsou definovany ?

class A {};
class B : public A {};

fn(a *A)
  {
  assert(a != 0);
  B* b = dynamic_cast<B*>(a);
  assert(b != 0); // pokud neni potomek mame null
  }

Ale pozor mel byste mit zapnuty rtti. Ale to vam prekladac (aspon g++) 
povi sam.

-- 
  KLoK


Další informace o konferenci Linux