Posted By: RoboShim (ICQ #: 166 703 40) on 'CZprogram'
Title:     Re: Heterogenni seznam
Date:      Mon Feb  4 08:01:21 2002

> To jsem nejak nepochopil. To volani (*i)->SetData( ...) a (*i)->GetData() 
> vola 'spravne' metody, v tom problem neni, staci aby to byly virtualni
> metody 
> a je to v poradku. Problem je v tom, ze do a z techto metod potrebuji dostat
> 
> nejake informace.
> 
> Do (*i)->SetData( ...) je predavam z A::GetData() a z
>    (*i)->GetData() je predavam do A::SetData( ...).

*** A co kdybys to udelal tak, ze do (*i)->SetData(...) i 
(*i)->GetData(...) budes cpat jako parametr primo ten object A a ty virtualni 
metody (podle toho z jakyho objektu O? budou) si z obj. A vezmou/nastavi 
hodnoty sami? (samozrejme pres nejaky metody objektu A treba, pokud atributy 
chces mit privatni). 

asi takhle:

for( vector<O*>::iterator i = vec.begin(); i < vec.end(); i++){
          (*i)->SetData( this ); // nebo jak se to presne udela:)
          (*i)->Run();
          // SetData( (*i)->identifikator_typu, (*i)->GetData());
          (*i)->GetData( this );
/* uvnitr O1::GetData(ObjA) se pak provede neco jako ObjA.setAlpha
   uvnitr O2::GetData(ObjA) zase ObjA.setBeta nebo proste to, co tam chces 
udelat s tim objektem ObjA */

ZApisy jsou mozna blbe, chce to dotahnout. Ale myslenka je, at sami O1 a O2 + 
dalsi ktery pribydou, zjistujou hodnoty a nastavujou je sami z metody 
Get/SetData dostavaji jako parametr ten objekt A.

Je to ono, nebo jsem to zase nepochopil?

RoboShim. 

Search the boards