Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Struktury, třídy a jejich rozdíly

Aktivity
Avatar
Jakub Padevít:12.2.2015 14:03

Ahoj, chtěl bych se zeptat jaká je vlastně definice struktur, tříd a jaký je vlastně mezi nimi rozdíl.
Byl bych určitě rád i za případné odkazy... :)

Odpovědět
12.2.2015 14:03
Bože proměň mě ve svíčku ... Já sice shořím, ale dám světlo ostatním ...
Avatar
Odpovídá na Jakub Padevít
Luboš Běhounek Satik:12.2.2015 16:35

Hlavním rozdílem v C++ je defaultní viditelnost členů (struct public, class private).

Nahoru Odpovědět
12.2.2015 16:35
https://www.facebook.com/peasantsandcastles/
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Luboš Běhounek Satik
David Hartinger:12.2.2015 17:02

Měl jsem dojem, že tam snad ani jiný rozdíl není.

Nahoru Odpovědět
12.2.2015 17:02
You are the greatest project you will ever work on.
Avatar
David.Landa
Člen
Avatar
David.Landa:13.2.2015 10:04

Prostuduj i dědění struktur a tříd. Souvisí to s tou výchozí viditelností.

 
Nahoru Odpovědět
13.2.2015 10:04
Avatar
Katka
Tvůrce
Avatar
Katka:3.9.2020 9:13

Zrovna struktury řeším – definice (C#) by měla být:

TŘÍDY se používají k modelování složitějšího chování nebo dat – která mají být upravena po vytvoření objektu třídy.

STRUKTURY jsou vhodné pro malé, jednoduché sady dat (obsahují primárně data) - která nejsou zamýšlena jako modifikovaná po vytvoření struktury.

Rozdíly: struktura (na rozdíl od třídy) nemůže obsahovat bezparametrický konstruktor, destruktor, nemůže dědit ani od ní nemůže být děděno (nepoužívá „protected“), nemůže obsahovat virtuální metody, je alokována na zásobníku, může být inicializována i bez klíčového slova „new“.

Čemu nerozumím je, že „struktura nemůže mít inicializované vlastnosti“. Může prosím někdo dovysvětlit?

Nahoru Odpovědět
3.9.2020 9:13
Rozdíl mezi tím, kým jsme a tím, kým chceme být, je jen v tom, co děláme.
Avatar
JerryM
Člen
Avatar
JerryM:3.9.2020 10:35

záleží na verzi jazyka C nebo C++. ty nepíšeš v jaký verzi ... ANSI C ? 98 ? 99 ? K&R ? ANSI C++ ??? a verze ? ECMA standard ???
struktura v dřívějších verzích nesměla obsahovat kod, ale jen data. mohla obsahovat ukazatel na kod ale ten šel spustit jen jiným externím spouštěčem - kodem, v posledních verzích je tohle zachovaný ALE ... např. v C++/CLI muže i "ref struct" obsahovat kod stejně jako "value struct" ... bohužel vývoj nezastavíš ...
chtělo by to nastudovat z knížek
https://www.programming-book.com

 
Nahoru Odpovědět
3.9.2020 10:35
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 6 zpráv z 6.