<html><body><div>Jenomze jste tomu potomkovi tu metodu neprepsal, ale volate metodu predka, ktery ma jasne dane to, ze vrati hodnotu, kterou ma vratit. V tom priklade v jazyku, ktery jste poslal neni zadny static. I V c++ to jde napsat stejne, ale musite vedet, co delate...</div><div>class base {</div><div>protected:</div><div> const int testvar;</div><div>public:</div><div> base() : testvar(100) {}</div><div> int getval() {</div><div> return testvar;<br></div><div> }<br></div><div>};</div><div><br></div><div>class child : public base</div><div>{</div><div>public:</div><div> child() : testvar(200) {}<br></div><div>};</div><div>by mohlo fungovat (pisu to z ruky, takze bez naroku na spravnost...)<br></div>-- <br>Pavel Brychta<br>http://www.xpablo.cz<br><br><aside>---------- Původní e-mail ----------<br>Od: Tomas Chvatal <tchvatal@fordiag.cz><br>Komu: HW-news <hw-list@list.hw.cz><br>Datum: 8. 9. 2023 12:01:43<br>Předmět: Re: cplusplus dedeni</aside><br><blockquote data-email="tchvatal@fordiag.cz">
<div><font size="2">></font><font size="3">takze chcete po predkovi (tride
basecls), </font></div>
<div>Ja to preci chci v jednom dotazu po predkovi, ale v druhem po
potomkovi.</div>
<div>A prave se divim, ze i ten potomek vraci hodnotu z predka.</div>
<div> </div>
<div><font size="2"></font> </div>
<div><font size="2">Spatne to mozna je, ale ve videni c++ ;-)</font></div>
<div><font size="2"></font> </div>
<div><font size="2">VFP kod:</font></div>
<div><font size="2">define class base as custom</font></div>
<div><font size="2"> testvar = 100</font></div>
<div><font size="2"> proc getVal</font></div>
<div><font size="2"> return
this.testvar</font></div>
<div><font size="2"> endproc</font></div>
<div><font size="2">enddefine</font></div>
<div><font size="2">
<div><font size="2">define class child as base</font></div>
<div><font size="2"> testvar = 200</font></div>
<div> * metodu getVal tady nemusim nijak zminovat, protoze
jsem ji zdedil (a jeji umeni) od predka</div>
<div><font size="2">enddefine</font></div></font></div>
<div><font size="2"></font> </div>
<div><font size="2">obj = createobject('child')</font></div>
<div><font size="2">? obj.getVal()</font></div>
<div><font size="2"></font> </div>
<div><font size="2">vypise, pro mne logicky a dobre, 200</font></div>
<div><font size="2">Z meho pohledu - predek to dite naucil "vratit hodnotu
sveho testvar" a to dite ma tu hodnotu JINOU nez predek.</font></div>
<div><font size="2"></font> </div>
<div>s přáním hezkého dne / best regards<br>Tomáš Chvátal<br><a href="mailto:tchvatal@fordiag.cz">tchvatal@fordiag.cz</a><br></div>
<blockquote style="BORDER-LEFT:#000000 2px solid;PADDING-LEFT:5px;PADDING-RIGHT:0px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px">
<div style="FONT:10pt arial">----- Původní zpráva ----- </div>
<div style="FONT:10pt arial;BACKGROUND:#e4e4e4;font-color:black"><b>Od:</b> <a title="Pablo@xpablo.cz" href="mailto:Pablo@xpablo.cz">Pablo@xpablo.cz</a> </div>
<div style="FONT:10pt arial"><b>Komu:</b> <a title="hw-list@list.hw.cz" href="mailto:hw-list@list.hw.cz">HW-news</a> </div>
<div style="FONT:10pt arial"><b>Odesláno:</b> 8. září 2023 11:48</div>
<div style="FONT:10pt arial"><b>Předmět:</b> Re: cplusplus dedeni</div>
<div><font size="2"></font><font size="2"></font><br></div>No uz z principu ne -
ten getter (getval()) neni virtual a ani neni override, takze chcete po
predkovi (tride basecls), aby vratil hodnotu potomka. Proste to je spatne.
Vsadim se, ze basecls::testvar a childcls::testvar budou vracet spravne
hodnoty (i kdyz bych predpokladal aspon varovani pri prekladu ze tam jedna
promenna ma/dela stin druhe).<br><br>-- <br>Pavel
Brychta<br>http://www.xpablo.cz<br><br><aside>---------- Původní e-mail
----------<br>Od: Tomas Chvatal <tchvatal@fordiag.cz><br>Komu: HW-news
<hw-list@list.hw.cz><br>Datum: 8. 9. 2023 11:44:02<br>Předmět: Re:
cplusplus dedeni</aside><br>
<blockquote data-email="tchvatal@fordiag.cz">Jak predek, tak potomek maji
stejnou promennou (tady se tomu nerika <br>vlastnost ?) <br>Tedy u potomka,
ktery ma napr. jiny "obvod hlavy" bych cekal, ze umi <br>odpovedet spravnou
hodnotu sve hlavy ;-) <br><br>s přáním hezkého dne / best regards <br>Tomáš
Chvátal <br>tchvatal@fordiag.cz <br><br>----- Původní zpráva ----- <br>Od:
"Jaroslav Buchta" <jaroslav.buchta@hascomp.cz> <br>Komu:
<hw-list@list.hw.cz> <br>Odesláno: 7. září 2023 19:32 <br>Předmět: Re:
cplusplus dedeni <br><br><br>Asi chybi virtual, ale to jde asi stejne jen na
metody. Jak by predek <br>mohl vedet o promene potomka? <br><br>Dne
07.09.2023 v 19:28 Tomas Chvatal napsal(a): <br>> Zdravim. <br>>
<br>> Muze se mi, prosim, nekdo pokusit vysvetlit, jak je to v C++
mysleno s <br>> "dedenim" vlastnosti ? <br>> Jsem "tridne postizeny" z
VFP a ted jsem u c++ dost zmateny ;-) <br>> <br>> Mam tridu "basecls"
(ta ma metody getval()) <br>> Od ni dedim do druhe tridy "childcls". V te
mam vlastnost testvar <br>> predefinovanou na jinou hodnotu. <br>>
class basecls { <br>> <br>> public: <br>> <br>> static const int
testvar=100; <br>> <br>> int getval() { <br>> <br>> return
testvar; <br>> <br>> } <br>> <br>> }; <br>> <br>> class
childcls : public basecls { <br>> <br>> public: <br>> <br>>
static const int testvar=200; <br>> <br>> }; <br>> <br>>
<br>> std::cout << base.getval() << std::endl; <br>>
<br>> std::cout << child.getval() << std::endl; <br>>
<br>> <br>> <br>> Proc se mi pri volani getval() na obou objektech
<br>> vraci vzdy 100 ? <br>> <br>> Mate nejaky odkaz na pekne
vysvetleni jak to s tim dedenim zde je ? <br>> Jsem jenom tak ovlivnen od
jinych jazyku, nebo je to s temi tridami v c++ <br>> takove nejake divne,
az hnusne ? ;-) <br>> <br>> Diky predem. <br>> <br>> s přáním
hezkého dne / best regards <br>> Tomáš Chvátal <br>>
tchvatal@fordiag.cz <br>> <br>>
_______________________________________________ <br>> HW-list mailing
list - sponsored by www.HW.cz <br>> Hw-list@list.hw.cz <br>>
http://list.hw.cz/mailman/listinfo/hw-list
<br><br><br>_______________________________________________ <br>HW-list
mailing list - sponsored by www.HW.cz <br>Hw-list@list.hw.cz
<br>http://list.hw.cz/mailman/listinfo/hw-list
<br><br>_______________________________________________ <br>HW-list mailing
list - sponsored by www.HW.cz <br>Hw-list@list.hw.cz
<br>http://list.hw.cz/mailman/listinfo/hw-list <br></blockquote>
<p>
</p><hr>
<p></p>_______________________________________________<br>HW-list mailing
list - sponsored by
www.HW.cz<br>Hw-list@list.hw.cz<br>http://list.hw.cz/mailman/listinfo/hw-list<br></blockquote>
_______________________________________________
<br>HW-list mailing list - sponsored by www.HW.cz
<br>Hw-list@list.hw.cz
<br>http://list.hw.cz/mailman/listinfo/hw-list
<br></blockquote></body></html>