12. diel - Priraďovacie operátor
V minulej lekcii, Kopírovacie konstruktory v C ++ , sme sa zaoberali kopírovacími konstruktory v C ++. V dnešnom C ++ tutoriálu sa pozrieme na priraďovacie operátor, ktorý je ďalší zo základných operácií.
Čo je to vlastne priraďovacie operátor? Je to známe rovná sa, ktoré
bežne používame. Napríklad kód x = 4+5 volá priraďovacie
operátor na objekte x (pokiaľ sa o objekt jedná). Skúste si
vytvoriť dva bojovníkmi, a potom skúste jedného prepísať tým druhým.
Bojovnik a(100,8,5,kostka); Bojovnik b(100,9,6,kostka); a = b;
Kompilátor zahlási chybu, že operátor "rovná sa" nie je nadefinovaný. Konkrétne (pre Visual Studio):
error C2280: 'Bojovnik &Bojovnik::operator =(const Bojovnik &)': attempting to reference a deleted function note: compiler has generated 'Bojovnik::operator =' here
Zvyčajne chceme, aby šla premenná priradiť do inej premennej rovnakého typu. Na rozdiel od vyšších programovacích jazykov sa o toto v C ++ musíme postarať sami (áno, zase).
Priraďovacie operátor
Najprv sa skúsme logicky zamyslieť nad deklaráciou. Meno metódy bude jasné - kľúčové slovo operator nasledujúce znakom rovná sa. Čo parametre? Chceme vziať inú inštanciu a jej hodnotu skopírovať. Zároveň predpokladáme, že
...koniec náhľadu článku...
Pokračuj ďalej
Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť iba tento kurz
Získaj okamžitý prístup ku kurzu bez
časového obmedzenia.
925 kreditov
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Prístup k jednotlivým lekciám podľa spôsobu obstarania.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V C ++ tutoriálu sa pozrieme na priraďovacie operátor. Povieme si, kedy sa volá, na čo slúži a ako ho implementovať.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.