Mi a különbség a Class és a Struct között? (C#-ban és C++-ban)
Classokon c++-ban megadhatsz saját operátorokat és azt hiszem csak class-ban léteznek virtual függvények.
De mindkettő hasonló.
A C++-ban:
A struct és a class között csak az az egy különbség van, hogy a class-ban a default a private, míg structban a default public.
Ezt leszámítva 100%-ban egyenértékű a struct és a class, így elméletben ha random átírod egyiket a másikra egy forráskódban, akkor előfordulhat, hogy semmi változás nem lesz.
A gyakorlatban meg structot adattárolásra használják, ha van egy kisebb objekted, ami csak néhány összetartozó adat, akkor azt struct ként definiálják (külön file nélkül), míg classba az összetettebb objectek jönnek.
Hogy tisztázzuk, a class minden esetben referencia szerint kezelődik a c#-ban ( és default private a láthatósága). Ezzel szemben a struktúra egy "lebutított osztály", melynek példányai érték szerint adódnak át ( és by default public ). Természetesen mindkét szerkezet tartalmazhat adattagokat melyeknek az alapértelmezettől eltérő láthatóságot is adhatsz.
A get-set blokk annyiban könnyíti meg az életedet ( főleg a java programozókkal szemben), hogy a lekérdező és az értékadó műveleteket közvetlenül az adattaghoz rendelheted. Természetesen ezeknek is lehet saját láthatóságuk, sőt a megvalósításuk se kötelező ( public adattag esetén a fordító implicit generál egy alapértelmezett get-set blokkot, valahogy így: var v{get;set;}). Az persze megint más kérdés, hogy mit szeretnél te ezzel, mert az nem befolyásolja azt, hogy egy generikus konténert te milyen típussal típusozol fel. Alapértelmezetten az Object valamely leszármazottja lehet egy generikus tároló típusa, de ezt ha szükséges le tudod szűkíteni. Erre van a where ksz. Ha érdekel, olvass utána.
7
Miután az egész úgy ahogy van fazság, így nincs mit megcáfolni rajta. _ALAP_ ismeretek hiánynak itt, ezen nincs mit megcáfolni, aki annyira 0-a, hogy ilyen szintű hülyeséget biggyeszt ide, azzal nem lehet szakmai dolgokról beszélni.
Ajánlom legalább valami kezdő szintű tananyag áttanulmányozását, azt ha azzal megleszel, már te is érteni fogod miért írtam azt amit.
Ez kb. olyan, mintha nem ismernéd a számokat, és kérnéd, hogy magyarázzam el neked a másodfokú egyenletet. Nincs értelme...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!