Posted By: Rat (prilis mnoho her) on 'CZprogram'
Title: Re: Pokud nejaky javista nema co delat...yy
Date: Tue Dec 14 11:05:21 2004
> Jeste mam jeden podobny prikladek, jeste mene prakticky, ale bohuzel z
> praxe:
> potreboval jsem pro instanci jakesi tridy v programu zjistovat, jestli jista
>
> virtualni metoda je tataz, jako metoda nejakeho predka a pokud ne, vykonat
> obe
> a porovnat vysledky. Protoze nevim o zadnem nastroji uvnitr C++ (a ani v
> jave), ktery by tohle delal, musel jsem sahnout do tabulky virtualnich metod
> a
> hrozne nadaval na autora knihovny, ze musel zrovna tuhle metodu overridnout
> (jakesi polynomialni regrese nad urcitymi mnozinami bodu, knihovna si sama
> urcovala stupen polynomu podle vlozenych dat a k nim vymyslela tridy
> zahadnych
> vlastnosti), misto aby zalozil novou... Typeid pouzit neslo - krome bazove
> tridy jsem nemel k dispozici prototypy. To byl za celou moji praxi jedny
> pripad, kdy me skutecne zajimalo, kam a jak se k objektu lepi virtualni
> tabulky, ale zrovna tehdy to bylo docela nutne. Jak na takovy problem jit
> bez
> pointeru netusim. Nejspis napsat si tu knihovnu na regrese sam... bohuzel
> pro
> me je odhad optimalniho stupne polynomu pro prokladani cira magie. :-)
No, s timhletim... kdyz se podivas na to, jakym zpusobem funguje dynamicke
linkovani, tak stejne zjistis, ze to nikam nevede. Ono totiz na stejnou
funkci muze vest vice pointeru ;) Takze budes-li mit dve sdilene knihovny, v
kazde jednu tridu, pak prestoze tu metodu neoverridnes, tak v te vt budou dva
jine zaznamy.
> Quasimodo
Krysa
rat@atrey.karlin.mff.cuni.cz Jsem Krysa
http://atrey.karlin.mff.cuni.cz/~rat/