NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 9 - Statika v C++

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Tomm
Člen
Avatar
Tomm:15.2.2020 2:39

všiml jsem si že je tu:bool existujeVitaz(); v minulých lekcích bylo bool existujeVitez();

 
Odpovědět
15.2.2020 2:39
Avatar
Zdeněk Dvorský:23.12.2022 17:43

Protože se často jedná o zdroj chyb, rychlé zopakování: konstantní statické atributy musí být inicializované v .h souborech, zatímco pouze statické atributy musí být inicializované v .cpp souborech.

A jak se inicializuji statické konstantní atributy typu double nebo float ?

static const double PI = 3.14159;

Pokud se pokusím o inicializaci v .h - nahlásí to chybu -že const double nemůže mít inicializátor ve třídě. No a v .cpp to inicializovat rovněž nejde.

Ve třídě .h by to šlo inicializovat pouze tehdy pokud bych změnil typ na int což mi nevyhovuje.

Jak postupovat? Díky

 
Odpovědět
23.12.2022 17:43
Avatar
Zdeněk Dvorský:23.12.2022 17:51

Už vím. pro jiné typy než int je potřeba použít constexpr. Čili takto:

static constexpr double P_I = 3.14159;
 
Odpovědět
23.12.2022 17:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.