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.