cplusplus dedeni

Tomas Chvatal tchvatal na fordiag.cz
Pátek Září 8 12:01:11 CEST 2023


>takze chcete po predkovi (tride basecls), 
Ja to preci chci v jednom dotazu po predkovi, ale v druhem po potomkovi.
A prave se divim, ze i ten potomek vraci hodnotu z predka.


Spatne to mozna je, ale ve videni c++ ;-)

VFP kod:
define class base as custom
    testvar = 100
    proc getVal
        return this.testvar
    endproc
enddefine
define class child as base
    testvar = 200
    * metodu getVal tady nemusim nijak zminovat, protoze jsem ji zdedil (a jeji umeni) od predka
enddefine

obj = createobject('child')
? obj.getVal()

vypise, pro mne logicky a dobre, 200
Z meho pohledu - predek to dite naucil "vratit hodnotu sveho testvar" a to dite ma tu hodnotu JINOU nez predek.

s přáním hezkého dne / best regards
Tomáš Chvátal
tchvatal na fordiag.cz

  ----- Původní zpráva ----- 
  Od: Pablo na xpablo.cz 
  Komu: HW-news 
  Odesláno: 8. září 2023 11:48
  Předmět: Re: cplusplus dedeni


  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).

  -- 
  Pavel Brychta
  http://www.xpablo.cz

  ---------- Původní e-mail ----------
  Od: Tomas Chvatal <tchvatal na fordiag.cz>
  Komu: HW-news <hw-list na list.hw.cz>
  Datum: 8. 9. 2023 11:44:02
  Předmět: Re: cplusplus dedeni

    Jak predek, tak potomek maji stejnou promennou (tady se tomu nerika 
    vlastnost ?) 
    Tedy u potomka, ktery ma napr. jiny "obvod hlavy" bych cekal, ze umi 
    odpovedet spravnou hodnotu sve hlavy ;-) 

    s přáním hezkého dne / best regards 
    Tomáš Chvátal 
    tchvatal na fordiag.cz 

    ----- Původní zpráva ----- 
    Od: "Jaroslav Buchta" <jaroslav.buchta na hascomp.cz> 
    Komu: <hw-list na list.hw.cz> 
    Odesláno: 7. září 2023 19:32 
    Předmět: Re: cplusplus dedeni 


    Asi chybi virtual, ale to jde asi stejne jen na metody. Jak by predek 
    mohl vedet o promene potomka? 

    Dne 07.09.2023 v 19:28 Tomas Chvatal napsal(a): 
    > Zdravim. 
    > 
    > Muze se mi, prosim, nekdo pokusit vysvetlit, jak je to v C++ mysleno s 
    > "dedenim" vlastnosti ? 
    > Jsem "tridne postizeny" z VFP a ted jsem u c++ dost zmateny ;-) 
    > 
    > Mam tridu "basecls" (ta ma metody getval()) 
    > Od ni dedim do druhe tridy "childcls". V te mam vlastnost testvar 
    > predefinovanou na jinou hodnotu. 
    > class basecls { 
    > 
    > public: 
    > 
    > static const int testvar=100; 
    > 
    > int getval() { 
    > 
    > return testvar; 
    > 
    > } 
    > 
    > }; 
    > 
    > class childcls : public basecls { 
    > 
    > public: 
    > 
    > static const int testvar=200; 
    > 
    > }; 
    > 
    > 
    > std::cout << base.getval() << std::endl; 
    > 
    > std::cout << child.getval() << std::endl; 
    > 
    > 
    > 
    > Proc se mi pri volani getval() na obou objektech 
    > vraci vzdy 100 ? 
    > 
    > Mate nejaky odkaz na pekne vysvetleni jak to s tim dedenim zde je ? 
    > Jsem jenom tak ovlivnen od jinych jazyku, nebo je to s temi tridami v c++ 
    > takove nejake divne, az hnusne ? ;-) 
    > 
    > Diky predem. 
    > 
    > s přáním hezkého dne / best regards 
    > Tomáš Chvátal 
    > tchvatal na fordiag.cz 
    > 
    > _______________________________________________ 
    > HW-list mailing list - sponsored by www.HW.cz 
    > Hw-list na list.hw.cz 
    > http://list.hw.cz/mailman/listinfo/hw-list 


    _______________________________________________ 
    HW-list mailing list - sponsored by www.HW.cz 
    Hw-list na list.hw.cz 
    http://list.hw.cz/mailman/listinfo/hw-list 

    _______________________________________________ 
    HW-list mailing list - sponsored by www.HW.cz 
    Hw-list na list.hw.cz 
    http://list.hw.cz/mailman/listinfo/hw-list 



------------------------------------------------------------------------------


  _______________________________________________
  HW-list mailing list  -  sponsored by www.HW.cz
  Hw-list na list.hw.cz
  http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230908/b5bcb300/attachment.htm>


Další informace o konferenci Hw-list