<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=CS link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Je to jen ukázka jak vypadá C++, jinak tomu předchází 10 příkladů z C a pak to zas C bude pokračovat. Tohle asi ještě upravím. Ale chtěl jsem tam i něco na private a friend.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>PH</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>Od: </b><a href="mailto:junk.mv@gmail.com">Michal Vanka</a><br><b>Odesláno:</b>středa 31. března 2021 9:42<br><b>Komu: </b><a href="mailto:hw-list@list.hw.cz">HW-news</a><br><b>Předmět: </b>Re: Ukazka C++ pro děti</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><p class=MsoNormal>... a dale:</p></div><p class=MsoNormal>1) promenna tlacStickPred by mela byt soucasti tridy tlacitko.</p><div><p class=MsoNormal>2) Stisk by se mel testovat volanim metody, treba stisknuto()</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                               if (Tlacitko.stisknuto()) { // právě bylo stisknuto, vyvolat událost</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                               Tlacitko.stisk();</p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                               }</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Dale, ty deti uvidi C++ poprve v zivote a nebo uz maji nejake zkusenosti (treba s C)?</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Spise bych to videl na a) zacnu s C (kdekoli), b) zjistim, co je C++ a to tam, kde mam dobry debugger (visual studio), </p></div><div><p class=MsoNormal>c) pouziju C++ v mikrokontroleru</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Kazdopadne hodne stesti...</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-mv</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><div><p class=MsoNormal>On Wed, Mar 31, 2021 at 8:13 AM Pavel Brychta <<a href="mailto:pavel.brychta@duhasys.eu">pavel.brychta@duhasys.eu</a>> wrote:</p></div></div></div><p class=MsoNormal style='margin-left:4.8pt'>Přesně tak - konstruktor by měl pouze nastavit vnitřní proměnné a stavy <br>daného objektu. Pokud například chci použít ten GPIO, který je <br>"normálně" obsazený LED diodou jako vstup, který umožní něco nouzově <br>inicializovat, tak to takto použít nejde - statický konstruktor třídy <br>clLED nastaví ten GPIO jako výstup už při vytváření objektu. Pokud <br>nastavení fyzického GPIO uděláte až v init(), begin(), setup(), <br>start()..., tak do té doby můžete ten GPIO použít i jinak. Toto se týká <br>jakékoliv periferie v MCU, kterou chcete obsluhovat objektově. A pokud <br>tu inicializaci potřebujete proto, aby ta LEDka nesvítila od zapnutí <br>napájení, tak pak je chyba v hw designu, kterou sice je možné částečně <br>napravit ve fw, ale je třeba na to někde upozornit a nemělo by tohle <br>řešení být pravidlem. Dalším závažným problémem pak je v clTlac::stisk() <br>to nešťastné přímé volání globálního objektu Led.blikat() a statická <br>proměnná b - tady bych udělal to, že b přesunu asi jako proměnnou <br>objektu clTlac a rozhodně nebudu volat Led.blikat() - buď to udělejte <br>jako callback, nebo registrujte referenci na objekt Led přímo ve třídě <br>clTlac.<br><br>Pavel Brychta<br><br>Dne 30. 03. 21 v 21:58 Miroslav Šinko napsal(a):<br>> Osobne sa drzim toho, ze v konstruktore by sa mal "nastavit" len dany <br>> objekt, t.j. jeho premenne. Konkretne tuto si myslim, ze nie je dobry <br>> napad inicializovat registre procesora. Objekty su vytvarane ako <br>> globalne premenne, jednoducho povedane ktovie kedy a ktovie v akom <br>> poradi. Nastavenie registrov procesora by som v classach vyclenil do <br>> metod s nazvom povedzme init a tie volal v maine namiesto komentara <br>> "tady nic neni: inicializace je v konstruktorech".<br>><br>> miro<br>><br>> On 30.3.2021 20:08, Pavel Hudecek wrote:<br>>> Dobrý den všem,<br>>><br>>> Udělal jsem malou ukázku programu v C++ pro děti na kroužek, prosím o<br>>> zhodnocení, zda v tom nejsou nějaký nevhodný věci:-)<br>> _______________________________________________<br>> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>> <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>> <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>_______________________________________________<br>HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br><a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br><a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>