<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.23588">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#c0c0c0>
<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>
  <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></BODY></HTML>