Ako sa naučiť C++ pre začiatočníkov

Ako Sa Naucit C Pre Zaciatocnikov



C++ je najrozšírenejší a najčastejšie používaný programovací jazyk. Tento jazyk vznikol ako vylepšenie pôvodne vyvinutého jazyka C a bol ovplyvnený jazykom C, takže je to nadmnožina programovacieho jazyka C, ktorý funguje aj spolu s ostatnými nástrojmi a knižnicami, ktoré boli dostupné a boli používané v jazyku C. . Je to kompilovaný jazyk, ktorý je tiež panovačný.

Začiatok jazyka C++ nastal v roku 1983, krátko potom 'Bjare Stroustrup' pracoval s triedami v jazyku C vrátane niektorých ďalších funkcií, ako je preťaženie operátora. Použité prípony súborov sú „.c“ a „.cpp“. C++ je rozšíriteľný a nezávisí od platformy a zahŕňa STL, čo je skratka pre štandardnú knižnicu šablón. Takže v podstate známy jazyk C++ je v skutočnosti známy ako kompilovaný jazyk, ktorý má zdrojový súbor skompilovaný do podoby objektových súborov, ktoré v kombinácii s linkerom vytvárajú spustiteľný program.

Na druhej strane, ak hovoríme o jeho úrovni, ide o strednú úroveň interpretácie výhod nízkoúrovňového programovania, ako sú ovládače alebo jadrá, a tiež aplikácií vyššej úrovne, ako sú hry, GUI alebo desktopové aplikácie. Ale syntax je takmer rovnaká pre C aj C++.







Komponenty jazyka C++:

#include



Tento príkaz je hlavičkový súbor obsahujúci príkaz „cout“. V závislosti od potrieb a preferencií používateľa môže existovať viac ako jeden hlavičkový súbor.



int main()





Tento príkaz je funkciou hlavného programu, ktorá je nevyhnutnou podmienkou pre každý program C++, čo znamená, že bez tohto príkazu nie je možné spustiť žiadny program v C++. Tu je „int“ typ údajov návratovej premennej, ktorý hovorí o type údajov, ktoré funkcia vracia.

Vyhlásenie:



Premenné sú deklarované a sú im priradené názvy.

Vyhlásenie o probléme:

Toto je v programe nevyhnutné a môže to byť cyklus „zatiaľ“, cyklus „for“ alebo akákoľvek iná použitá podmienka.

Operátori:

Operátory sa používajú v programoch C++ a niektoré sú kľúčové, pretože sa aplikujú na podmienky. Niekoľko dôležitých operátorov je &&, ||, !, &, !=, |, &=, |=, ^, ^=.

Vstupný výstup C++:

Teraz budeme diskutovať o možnostiach vstupu a výstupu v C++. Všetky štandardné knižnice používané v C++ poskytujú maximálne vstupné a výstupné možnosti, ktoré sa vykonávajú vo forme sekvencie bajtov alebo sú normálne spojené s prúdmi.

Vstupný stream:

V prípade, že sa bajty prenášajú zo zariadenia do hlavnej pamäte, ide o vstupný tok.

Výstupný tok:

Ak sú bajty streamované v opačnom smere, ide o výstupný tok.

Hlavičkový súbor sa používa na uľahčenie vstupu a výstupu v C++. Je napísaný ako , ktorý poskytuje metódy napríklad dusenie a nastavenie presnosti. Vstupné a výstupné príkazy sú cin, cout, cerr a clog. Tu „cin“ označuje štandardný vstup a „cout“ označuje štandardné výstupné zariadenie používané s operátormi vkladania prúdu (<<) na zobrazenie príkazov na obrazovke.

Príklad:

Budeme zobrazovať reťazcovú správu pomocou reťazca typu znaku.

V prvom riadku zahŕňame „iostream“, ktorý má takmer všetky základné knižnice, ktoré by sme mohli potrebovať na spustenie programu C++. V ďalšom riadku deklarujeme menný priestor, ktorý poskytuje rozsah pre identifikátory. Po zavolaní hlavnej funkcie inicializujeme pole typu znakov, v ktorom je uložená reťazcová správa a „cout“ ju zobrazí zreťazením. Na zobrazenie textu na obrazovke používame „cout“. Tiež sme vzali premennú „A“ s poľom typu údajových znakov na uloženie reťazca znakov a potom sme pridali správu poľa spolu so statickou správou pomocou príkazu „cout“.

Vygenerovaný výstup je zobrazený nižšie:

Príklad:

V tomto prípade by sme vek používateľa reprezentovali jednoduchou reťazcovou správou.

V prvom kroku zaraďujeme knižnicu. Potom používame menný priestor, ktorý by poskytoval rozsah pre identifikátory. V ďalšom kroku zavoláme na hlavné() funkciu. Potom inicializujeme vek ako premennú „int“. Na vstup používame príkaz „cin“ a na výstup jednoduchej reťazcovej správy príkaz „cout“. „cin“ zadáva hodnotu veku od používateľa a „cout“ ju zobrazuje v ďalšej statickej správe.

Táto správa sa zobrazí na obrazovke po spustení programu, takže používateľ môže získať vek a potom stlačiť ENTER.

Príklad:

Tu ukážeme, ako vytlačiť reťazec pomocou „cout“.

Ak chcete vytlačiť reťazec, najprv zahrnieme knižnicu a potom menný priestor pre identifikátory. The hlavné() funkcia sa volá. Ďalej tlačíme výstup reťazca pomocou príkazu „cout“ s operátorom vkladania, ktorý potom zobrazuje statickú správu na obrazovke.

Typy údajov C++:

Dátové typy v C++ sú veľmi dôležitou a široko známou témou, pretože sú základom programovacieho jazyka C++. Podobne každá použitá premenná musí mať špecifikovaný alebo identifikovaný dátový typ.

Vieme, že pre všetky premenné používame dátový typ počas deklarácie na obmedzenie dátového typu, ktorý je potrebné obnoviť. Alebo by sme mohli povedať, že typy údajov vždy informujú premennú o tom, aký druh údajov sama ukladá. Zakaždým, keď definujeme premennú, kompilátor pridelí pamäť na základe deklarovaného typu údajov, pretože každý typ údajov má inú kapacitu pamäte.

Jazyk C++ pomáha pri rozmanitosti dátových typov, takže programátor si môže vybrať vhodný dátový typ, ktorý môže potrebovať.

C++ uľahčuje používanie typov údajov uvedených nižšie:

  1. Používateľom definované typy údajov
  2. Odvodené dátové typy
  3. Vstavané dátové typy

Nasledujúce riadky sú napríklad uvedené na ilustráciu dôležitosti typov údajov inicializáciou niekoľkých bežných typov údajov:

int a = dva ; // celočíselná hodnota

plavák F_N = 3.66 ; // hodnota s pohyblivou rádovou čiarkou

dvojitý D_N = 8,87 ; // dvojitá hodnota s pohyblivou rádovou čiarkou

char Alfa = 'p' ; // znak

bool b = pravda ; // Boolean

Nižšie je uvedených niekoľko bežných typov údajov: akú veľkosť špecifikujú a aký typ informácií budú ich premenné uchovávať:

  • Znak: S veľkosťou jedného bajtu uloží jeden znak, písmeno, číslo alebo hodnoty ASCII.
  • Boolean: Pri veľkosti 1 bajtu uloží a vráti hodnoty ako true alebo false.
  • Int: Pri veľkosti 2 alebo 4 bajtov bude ukladať celé čísla, ktoré sú bez desatinných miest.
  • S pohyblivou rádovou čiarkou: S veľkosťou 4 bajtov bude ukladať zlomkové čísla, ktoré majú jedno alebo viac desatinných miest. To je dostatočné na uloženie až 7 desatinných číslic.
  • Dvojitá pohyblivá desatinná čiarka: S veľkosťou 8 bajtov uloží aj zlomkové čísla, ktoré majú jedno alebo viac desatinných miest. To je dostatočné na uloženie až 15 desatinných číslic.
  • Prázdnota: Bez špecifikovanej veľkosti prázdnota obsahuje niečo bezcenné. Preto sa používa pre funkcie, ktoré vracajú hodnotu null.
  • Široký znak: S veľkosťou väčšou ako 8 bitov, ktorá je zvyčajne dlhá 2 alebo 4 bajty, je reprezentovaná wchar_t, ktorá je podobná znaku char, a teda ukladá aj hodnotu znaku.

Veľkosť vyššie uvedených premenných sa môže líšiť v závislosti od použitia programu alebo kompilátora.

Príklad:

Napíšme jednoduchý kód v C++, ktorý poskytne presné veľkosti niekoľkých typov údajov opísaných vyššie:

V tomto kóde integrujeme knižnicu . Potom používame „priestor názvov“. V ďalšom riadku voláme na hlavné() funkcia, v ktorej využívame príkaz „cout“, ktorý vytlačí veľkosti všetkých dátových typov špecifikovaných v programe. Aby sme zistili veľkosť premenných, musíme použiť veľkosť() metóda.

Výstup sa prijíma v bajtoch, ako je znázornené na obrázku:

Príklad:

Tu by sme pridali veľkosť dvoch rôznych dátových typov.

Najprv začleňujeme hlavičkový súbor využívajúci „štandardný priestor názvov“ pre identifikátory. Ďalej, hlavné() sa volá funkcia, v ktorej najprv inicializujeme premennú „int“ a potom premennú „double“, aby sme skontrolovali rozdiel medzi veľkosťami týchto dvoch. Potom sú ich veľkosti zreťazené použitím veľkosť() funkciu. Výstup sa zobrazí pomocou príkazu „cout“.

Je tu ešte jeden pojem, ktorý tu treba spomenúť, a to je „modifikátory údajov“ . Názov naznačuje, že „modifikátory údajov“ sa používajú spolu so vstavanými typmi údajov na úpravu ich dĺžok, ktoré môže určitý typ údajov udržať podľa potreby alebo požiadavky kompilátora.

Nasledujú modifikátory údajov, ktoré sú dostupné v C++:

  1. Podpísané
  2. Nepodpísané
  3. Dlhé
  4. Krátky

Upravená veľkosť a tiež vhodný rozsah vstavaných typov údajov sú uvedené nižšie, keď sú kombinované s modifikátormi typu údajov:

  • Short int: S veľkosťou 2 bajty, má rozsah úprav od -32 768 do 32 767
  • Unsigned short int: S veľkosťou 2 bajtov má rozsah úprav od 0 do 65 535
  • Unsigned int: S veľkosťou 4 bajtov má rozsah úprav od 0 do 4 294 967 295
  • Int: S veľkosťou 4 bajty, má rozsah úprav od -2 147 483 648 do 2 147 483 647
  • Long int: Má veľkosť 4 bajty, má rozsah úprav od -2 147 483 648 do 2 147 483 647
  • Unsigned long int: S veľkosťou 4 bajtov, má rozsah úprav od 0 do 4 294 967,295
  • Long long int: S veľkosťou 8 bajtov má rozsah úprav od –(2^63) do (2^63)-1
  • Unsigned long long int: S veľkosťou 8 bajtov má rozsah úprav od 0 do 18 446 744 073 709 551 615
  • Signed char: Má veľkosť 1 bajt, má rozsah úprav od -128 do 127
  • Unsigned char: S veľkosťou 1 bajtu má rozsah úprav od 0 do 255.

Vyčíslenie C++:

V programovacom jazyku C++ je „Enumeration“ používateľsky definovaný dátový typ. Enumerácia je deklarovaná ako „ enum' v C++. Používa sa na pridelenie konkrétnych názvov akejkoľvek konštante používanej v programe. Zlepšuje čitateľnosť a použiteľnosť programu.

Syntax:

Enumeráciu v C++ deklarujeme takto:

enum enum_Name { Konštantná1 , Konštantná2 , Konštantná 3… }

Výhody enumerácie v C++:

Enum možno použiť nasledujúcimi spôsobmi:

  • Môže sa často používať v príkazoch typu switch case.
  • Môže používať konštruktory, polia a metódy.
  • Môže rozšíriť iba triedu „enum“, nie akúkoľvek inú triedu.
  • Môže to predĺžiť čas kompilácie.
  • Dá sa to prejsť.

Nevýhody enumerácie v C++:

Enum má aj niekoľko nevýhod:

Ak už je meno vymenované, nemožno ho znova použiť v rovnakom rozsahu.

Napríklad:

enum Dni

{ So , slnko , môj } ;

int So = 8 ; // Tento riadok obsahuje chybu

Enum nemožno vopred deklarovať.

Napríklad:

enum tvary ;

farba triedy

{

neplatné kresliť ( tvary aShape ) ; //tvary neboli deklarované

} ;

Vyzerajú ako mená, ale sú to celé čísla. Môžu sa teda automaticky konvertovať na akýkoľvek iný typ údajov.

Napríklad:

enum tvary

{

Trojuholník , kruh , námestie

} ;

int farba = Modrá ;

farba = námestie ;

Príklad:

V tomto príklade vidíme použitie enumerácie C++:

Pri tomto vykonávaní kódu najskôr začneme s #include . je jednou z bohatých knižníc v C++. Ide o vstavanú knižnicu. Zahŕňa vstupné a výstupné dátové toky . Potom použijeme štandardný menný priestor. Potom sme deklarovali „enum“ konkrétny názov ako predmet a priradili sme tri predmety, ktorými sú matematika, angličtina a urdčina. Matematike je priradená hodnota 1. Naším cieľom je vytlačiť hodnoty Subject deklarované v enum. Potom vyvoláme hlavné() funkciu. In hlavné() máme cout<<, kde „c“ znamená „znak“ a out znamená „výstup“. „Cout“ sa používa na zobrazenie výstupu . << označuje operátor vkladania. Použitím ‘cout<<’ vytlačíme enum hodnoty. Ďalej použijeme príkaz „návrat 0“. Tento príkaz vráti výsledok, ktorý je vo forme hodnôt.

Tu je náš výsledok spusteného programu:

Takže, ako vidíte, máme hodnoty predmetu: matematika, urdčina, angličtina; to je 1,2,3.

Príklad:

Tu je ďalší príklad, prostredníctvom ktorého vyjasníme naše koncepty o enume:

V tomto programe začneme integráciou hlavičkového súboru . Ide o vstavanú knižnicu. Zahŕňa vstupné a výstupné dátové toky. Potom musíme použiť štandardný menný priestor. Potom sme konštantám, ktoré sú hráčmi, priradili enum hodnoty. Naším cieľom je ukázať, kto je nad ním. Ďalej zavoláme našim hlavné() funkciu. V hlavné() funkcii sme priradili dve konštanty: Shadab, ktorej hodnota je 20 do enum premennej ‚bowler1‘; a Afridi, ktorých hodnota je 25 pre premennú enum „bowler2“.

Musíme použiť príkaz if-else . Použili sme aj operátor porovnávania vo vnútri príkazu „if“, čo znamená, že porovnávame, či je „bowler2“ väčšie ako „bowler1“. Potom sa vykoná blok „if“, čo znamená, že je koniec Afridi. Potom sme zadali „cout<<“, aby sme zobrazili výstup. Najprv vytlačíme vyhlásenie „Je koniec“. Potom hodnota „bowler2“. Ak nie, vyvolá sa blok else, čo znamená, že Shadab skončil. Potom použitím príkazu „cout<<“ zobrazíme vyhlásenie „Je koniec“. Potom hodnota „bowler1“.

Podľa vyhlásenia If-else ich máme viac ako 25, čo je hodnota Afridi. Znamená to, že hodnota enum premennej „bowler2“ je väčšia ako „bowler1“, preto sa vykoná príkaz „if“.

C++ Ak je to inak, prepnite:

V programovacom jazyku C ++ používame príkazy „if“ a „prepínač“ na úpravu toku programu. Tieto príkazy sa používajú na poskytovanie viacerých sád príkazov na implementáciu programu v závislosti od skutočnej hodnoty uvedených príkazov. Vo väčšine prípadov používame operátory ako alternatívy k príkazu „if“. Všetky tieto vyššie uvedené vyhlásenia sú výberové vyhlásenia, ktoré sú známe ako rozhodovacie alebo podmienené vyhlásenia.

Vyhlásenie „ak“:

Toto vyhlásenie sa používa na testovanie daného stavu vždy, keď máte chuť zmeniť tok akéhokoľvek programu. Tu, ak je podmienka pravdivá, program vykoná napísané inštrukcie, ale ak je podmienka nepravdivá, jednoducho sa ukončí. Uvažujme o príklade;

Toto je jednoduchý použitý príkaz „if“, kde inicializujeme premennú „int“ ako 10. Potom sa od používateľa prevezme hodnota a je skontrolovaná v príkaze „if“. Ak spĺňa podmienky použité v príkaze „if“, zobrazí sa výstup.

Keďže zvolená číslica bola 40, výstupom je správa.

Vyhlásenie „Ak-iné“:

V zložitejšom programe, kde príkaz „if“ zvyčajne nespolupracuje, používame príkaz „if-else“. V danom prípade používame na kontrolu uplatnených podmienok príkaz „ak inak“.

Najprv deklarujeme premennú dátového typu „int“ s názvom „x“, ktorej hodnota je prevzatá od používateľa. Teraz sa používa príkaz „if“, kde sme aplikovali podmienku, že ak je celočíselná hodnota zadaná používateľom 2. Výstup bude požadovaný a zobrazí sa jednoduchá správa „NICE TRY“. V opačnom prípade, ak zadané číslo nie je 2, výstup by bol iný.

Keď používateľ napíše číslo 2, zobrazí sa nasledujúci výstup.

Keď používateľ napíše akékoľvek iné číslo okrem 2, výstup, ktorý dostaneme, je:

Vyhlásenie If-else-if:

Vnorené príkazy if-else-if sú pomerne zložité a používajú sa, keď je v rovnakom kóde použitých viacero podmienok. Zamyslime sa nad tým na ďalšom príklade:

Tu, po integrácii hlavičkového súboru a priestoru názvov, sme inicializovali hodnotu premennej „m“ ako 200. Hodnota „m“ je potom prevzatá od používateľa a potom krížovo skontrolovaná s viacerými podmienkami uvedenými v programe.

Tu používateľ zvolil hodnotu 195. Preto výstup ukazuje, že toto je skutočná hodnota „m“.

Prepnúť príkaz:

Príkaz „switch“ sa používa v C++ pre premennú, ktorú je potrebné otestovať, ak sa rovná zoznamu viacerých hodnôt. Vo vyhlásení „prepnúť“ identifikujeme podmienky vo forme samostatných prípadov a všetky prípady majú na konci každého vyhlásenia o prípade prestávku. Vo viacerých prípadoch sa uplatňujú správne podmienky a príkazy s príkazmi break, ktoré ukončia príkaz switch a prejdú na predvolený príkaz v prípade, že nie je podporovaná žiadna podmienka.

Kľúčové slovo „prestávka“:

Príkaz switch obsahuje kľúčové slovo „break“. Zastaví spustenie kódu v nasledujúcom prípade. Vykonávanie príkazu switch sa skončí, keď kompilátor C++ narazí na kľúčové slovo „break“ a ovládací prvok sa presunie na riadok, ktorý nasleduje za príkazom switch. V prepínači nie je potrebné používať príkaz break. Vykonanie sa presunie na ďalší prípad, ak sa nepoužije.

V prvom riadku zdieľaného kódu uvádzame knižnicu. Potom pridávame „priestor názvov“. Vyzývame na hlavné() funkciu. Potom deklarujeme stupeň údajového typu znaku ako „F“. Táto známka môže byť vaším želaním a výsledok sa zobrazí pre vybrané prípady. Na získanie výsledku sme použili príkaz switch.

Ak ako známku zvolíme „F“, výstupom bude „väčšie šťastie nabudúce“, pretože toto je vyhlásenie, ktoré chceme vytlačiť v prípade, že známka bude „F“.

Zmeňme známku na X a uvidíme, čo sa stane. Ako známku som napísal „X“ a prijatý výstup je uvedený nižšie:

Takže nesprávny prípad v „prepínači“ automaticky presunie ukazovateľ priamo na predvolený príkaz a ukončí program.

Príkazy If-else a Switch majú niektoré spoločné črty:

  • Tieto príkazy sa používajú na riadenie spôsobu vykonávania programu.
  • Obaja hodnotia podmienku a tá určuje, ako program prebieha.
  • Napriek tomu, že majú rôzne reprezentačné štýly, môžu byť použité na rovnaký účel.

Príkazy If-else a Switch sa v určitých smeroch líšia:

  • Zatiaľ čo používateľ definoval hodnoty v príkazoch typu „prepnúť“, zatiaľ čo obmedzenia určujú hodnoty v príkazoch „if-else“.
  • Určiť, kde je potrebné vykonať zmenu, si vyžaduje čas, je náročné upraviť vyhlásenia typu „ak je to inak“. Na druhej strane, príkazy „prepnúť“ sa jednoducho aktualizujú, pretože sa dajú ľahko upraviť.
  • Na zahrnutie mnohých výrazov môžeme použiť množstvo výrazov „ak je iné“.

C++ slučky:

Teraz zistíme, ako používať slučky v programovaní C++. Riadiaca štruktúra známa ako „slučka“ opakuje sériu príkazov. Inými slovami, nazýva sa to opakujúca sa štruktúra. Všetky príkazy sa vykonávajú naraz v sekvenčnej štruktúre . Na druhej strane, v závislosti od zadaného príkazu môže štruktúra podmienky vykonať alebo vynechať výraz. V určitých situáciách môže byť potrebné vykonať príkaz viackrát.

Typy slučiek:

Existujú tri kategórie slučiek:

Pre slučku:

Slučka je niečo, čo sa opakuje ako cyklus a zastaví sa, keď neoverí poskytnutú podmienku. Cyklus „for“ mnohokrát implementuje sekvenciu príkazov a kondenzuje kód, ktorý sa vyrovnáva s premennou cyklu. Toto ukazuje, ako je slučka „for“ špecifickým typom iteračnej riadiacej štruktúry, ktorá nám umožňuje vytvoriť slučku, ktorá sa opakuje stanovený počet krát. Slučka by nám umožnila vykonať „N“ počet krokov iba pomocou kódu jedného jednoduchého riadku. Poďme sa porozprávať o syntaxi, ktorú budeme používať na spustenie cyklu „for“ vo vašej softvérovej aplikácii.

Syntax vykonávania cyklu „for“:

Príklad:

Tu používame premennú slučky na reguláciu tejto slučky v slučke „for“. Prvým krokom by bolo priradenie hodnoty tejto premennej, ktorú uvádzame ako slučku. Potom musíme definovať, či je menšia alebo väčšia ako hodnota počítadla. Teraz sa má vykonať telo cyklu a tiež sa aktualizuje premenná cyklu v prípade, že príkaz vráti hodnotu true. Vyššie uvedené kroky sa často opakujú, kým nedosiahneme podmienku ukončenia.

  • Inicializačný výraz: Najprv musíme nastaviť počítadlo slučky na akúkoľvek počiatočnú hodnotu v tomto výraze.
  • Testovací výraz : Teraz musíme otestovať danú podmienku v danom výraze. Ak sú kritériá splnené, vykonáme telo cyklu „for“ a budeme pokračovať v aktualizácii výrazu; ak nie, musíme prestať.
  • Aktualizovať výraz: Tento výraz zvyšuje alebo znižuje premennú cyklu o určitú hodnotu po vykonaní tela cyklu.

Príklady programov C++ na overenie cyklu „For“:

Príklad:

Tento príklad ukazuje tlač celočíselných hodnôt od 0 do 10.

V tomto scenári by sme mali vytlačiť celé čísla od 0 do 10. Najprv sme inicializovali náhodnú premennú i s hodnotou „0“ a potom parameter podmienky, ktorý sme už použili, skontroluje podmienku, ak i<=10. A keď splní podmienku a stane sa pravdivou, začne sa vykonávanie cyklu „for“. Po vykonaní sa z dvoch inkrementačných alebo dekrementálnych parametrov vykoná jeden, v ktorom kým sa špecifikovaná podmienka i<=10 nezmení na nepravdivú, hodnota premennej i sa zvyšuje.

Počet iterácií s podmienkou i<10:

č

iterácií

Premenné i<10 Akcia
najprv i=0 pravda Zobrazí sa 0 a hodnota i sa zvýši o 1.
Po druhé i=1 pravda Zobrazí sa 1 a hodnota i sa zvýši o 2.
Po tretie i=2 pravda Zobrazí sa 2 a hodnota i sa zvýši o 3.
Po štvrté i=3 pravda Zobrazí sa 3 a hodnota i sa zvýši o 4.
Po piate i=4 pravda Zobrazí sa 4 a hodnota i sa zvýši o 5.
Šiesty i=5 pravda Zobrazí sa 5 a hodnota i sa zvýši o 6.
Siedmy i=6 pravda Zobrazí sa 6 a hodnota i sa zvýši o 7.
Ôsmy i=7 pravda Zobrazí sa 7 a hodnota i sa zvýši o 8
Deviaty i=8 pravda Zobrazí sa 8 a hodnota i sa zvýši o 9.
Desiaty i=9 pravda Zobrazí sa 9 a hodnota i sa zvýši o 10.
Jedenásty i=10 pravda Zobrazí sa 10 a hodnota i sa zvýši o 11.
Dvanásty i=11 falošný Slučka je ukončená.

Príklad:

Nasledujúca inštancia zobrazuje hodnotu celého čísla:

Vo vyššie uvedenom prípade sa premenná s názvom „a“ inicializuje s hodnotou danou 50. Podmienka sa použije, keď je premenná „a“ menšia ako 70. Potom sa hodnota „a“ aktualizuje tak, že sa pridá 2. Hodnota 'a' sa potom spustí od počiatočnej hodnoty, ktorá bola 50 a 2 sa pridáva súbežne v priebehu cyklu, kým sa podmienka nevráti ako nepravda a hodnota 'a' sa nezvýši zo 70 a cyklus sa neskončí.

Počet opakovaní:

č

Iterácia

Variabilné a = 50 Akcia
najprv a = 50 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a z 50 sa stane 52
Po druhé a=52 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a z 52 sa stane 54
Po tretie a = 54 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a z 54 sa stane 56
Po štvrté a = 56 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a z 56 sa stane 58
Po piate a=58 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a z 58 sa stane 60
Šiesty a = 60 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a 60 sa zmení na 62
Siedmy a=62 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a 62 sa zmení na 64
Ôsmy a = 64 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a 64 sa zmení na 66
Deviaty a = 66 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a 66 sa zmení na 68
Desiaty a=68 pravda Hodnota a sa aktualizuje pridaním ďalších dvoch celých čísel a 68 sa zmení na 70
Jedenásty a = 70 falošný Slučka je ukončená

Kým slučka:

Kým nie je splnená definovaná podmienka, môže sa vykonať jeden alebo viac príkazov. Keď je iterácia vopred neznáma, je veľmi užitočná. Najprv sa skontroluje podmienka a potom vstúpi do tela cyklu, aby sa vykonal alebo implementoval príkaz.

V prvom riadku začleňujeme hlavičkový súbor a štandardný menný priestor. Voláme na hlavné() funkciu. Tu inicializujeme premennú „a“. V ďalšom riadku aplikujeme podmienku while. V rámci podmienky while používame príkaz „cout“ na zobrazenie zapísanej hodnoty. Potom použijeme operátor prírastku na zvýšenie počtu. V poslednom riadku použijeme príkaz „návrat 0“ na ukončenie programu.

Do-While Loop:

Keď je definovaná podmienka splnená, vykoná sa séria príkazov. Najprv sa vykoná telo slučky. Potom sa skontroluje, či je podmienka pravdivá alebo nie. Preto sa príkaz vykoná raz. Telo cyklu sa pred vyhodnotením podmienky spracuje v slučke „Do-while“. Program sa spustí vždy, keď je splnená požadovaná podmienka. V opačnom prípade, keď je podmienka nepravdivá, program sa ukončí.

Tu integrujeme hlavičkový súbor . Využívame hlavné() funkciu v programe. Potom inicializujeme štyri celé čísla a použijeme príkaz „cin“, aby používateľ mohol zadať hodnotu. V ďalšom riadku inicializujeme dve rôzne celé čísla. Aplikujeme vyhlásenie „urobiť“. Vo vnútri príkazu používame dve aritmetické funkcie. Po prvé, použijeme operátor násobenia a po druhé, použijeme operátor sčítania. Potom v programe použijeme podmienku „kým“ mimo príkazu „do“. Ďalej pridáme príkaz „cout“, aby sme výsledok vytlačili cez celé číslo „výsledok“. V poslednom riadku na ukončenie programu použijeme príkazy return 0.

C++ Pokračovať/Prerušiť:

C++ Pokračovať vyhlásenie:

Príkaz continue sa používa v programovacom jazyku C++, aby sa zabránilo súčasnej inkarnácii slučky, ako aj presunu riadenia do nasledujúcej iterácie. Počas cyklovania je možné použiť príkaz continue na preskočenie určitých príkazov. Používa sa aj v rámci cyklu v spojení s výkonnými vyhláseniami. Ak je špecifická podmienka pravdivá, všetky príkazy za príkazom continue sa neimplementujú.

So slučkou for:

V tomto prípade používame „cyklus for“ s príkazom continue z C++, aby sme získali požadovaný výsledok a zároveň splnili niektoré špecifikované požiadavky.

Začneme zahrnutím knižnice a použitím „namespace std“. Potom voláme na hlavné() funkciu. Používame pre slučku. Vo vnútri cyklu for deklarujeme premennú ‚k‘, ktorá sa považuje za ležiacu medzi 3 a 8. Použijeme podmienku na pokračovanie v iterácii, aj keď (k = = 5). Potom použite príkaz „pokračovať“ po zadaní podmienky. Nakoniec. na zobrazenie výstupu používame príkaz „cout“ spolu s príkazom „return 0“.

S chvíľkovou slučkou:

Počas tejto demonštrácie sme použili „cyklus while“ aj príkaz „pokračovať“ v C++ vrátane niektorých podmienok, aby sme videli, aký druh výstupu sa môže generovať.

V tomto príklade sme nastavili podmienku na sčítanie čísel iba do 40. Ak je zadané celé číslo záporné číslo, cyklus „pričom“ sa ukončí. Na druhej strane, ak je číslo väčšie ako 40, potom sa toto konkrétne číslo z iterácie vynechá.

Zahrnieme knižnicu využívajúcu „namespace std“ a potom zavoláme hlavné() funkciu. Inicializujeme premennú „s“. Ďalšia premenná „číslo“ je deklarovaná v ďalšom kroku. Používame cyklus „pričom“. Teraz zadáme podmienku, že požadovaná hodnota bude vyššia alebo rovná nule. Na sčítanie všetkých kladných čísel použijeme príkaz „s += number“. Príkaz „cout“ sa použije na zobrazenie správy na konzole „Zadajte ľubovoľné číslo“. Celé číslo získame od používateľa pomocou príkazu „cin“. Používame aj výraz „ak“. Vždy, keď je definovaný počet väčší ako 40, zobrazí sa správa. Potom sme použili príkaz „pokračovať“. Po všetkých týchto krokoch sa vykoná príkaz „pokračovať“. Na zobrazenie súčtu všetkých čísel používame príkaz „cout“.

C++ príkaz break:

Kedykoľvek sa v C++ použije príkaz break v slučke, slučka sa okamžite ukončí a riadenie programu sa reštartuje v príkaze po slučke. Prípad je možné ukončiť aj v príkaze „prepnúť“.

So slučkou for:

Tu použijeme cyklus „for“ s príkazom „break“ na pozorovanie výstupu iterovaním cez rôzne hodnoty.

Najprv začleníme hlavičkový súbor . Ďalej používame „namespace std“. Po zavolaní funkcie main() sme použili pre cyklus. Tu by sme inicializovali premennú „m“. Použijeme podmienku, že hodnota ‚m‘ leží medzi 10 a 20. Podmienka ‚break‘ sa vykoná, ako keby (m == 17). Na tlač výsledku sme použili „cout“. Potom sa použije príkaz „návrat 0“.

S chvíľkovou slučkou:

Spolu s príkazom break použijeme cyklus „while“.

Začneme importovaním knižnice . Bude zahrnutý „priestor názvov std“. V rámci metódy main() by sa inicializovali dve premenné ‚nbr‘ a ‚x‘. Použili sme cyklus „while“ a ako argument sme odovzdali „true“. Na získanie hodnoty od používateľa používame príkaz „cin“. Ďalej sme použili príkaz „ak“. Spolu s tým sa na špecifikáciu podmienky if použije podmienka „break“ (nbr < 0). Na sčítanie všetkých kladných hodnôt sme použili vzorce „x += nbr“. Na zobrazenie tejto sumy sme pridali príkaz „cout“.

Funkcie C++:

Funkcie sa používajú na štruktúrovanie už známeho programu do viacerých fragmentov kódov, ktoré sa vykonávajú iba vtedy, keď je zavolaný. V programovacom jazyku C++ je funkcia definovaná ako skupina príkazov, ktoré majú vhodný názov a ktoré ich vyvolávajú. Používateľ môže odovzdať údaje do funkcií, ktoré nazývame parametre. Funkcie sú zodpovedné za implementáciu akcií, keď je najpravdepodobnejšie opätovné použitie kódu.

Vytvorenie funkcie:

Hoci C++ poskytuje mnoho preddefinovaných funkcií, ako napr hlavné(), čo uľahčuje vykonávanie kódu. Rovnakým spôsobom môžete vytvárať a definovať svoje funkcie podľa vašich požiadaviek. Rovnako ako všetky bežné funkcie, aj tu potrebujete názov pre svoju funkciu pre deklaráciu, ktorá sa pridá so zátvorkami za „()“.

Syntax:

Void Labor ( )

{

// telo funkcie

}

Void je návratový typ funkcie. Labor je názov, ktorý jej bol daný, a zložené zátvorky by uzatvárali telo funkcie, do ktorej pridávame kód na vykonanie.

Volanie funkcie:

Funkcie, ktoré sú deklarované v kóde, sa vykonajú iba vtedy, keď sú vyvolané. Ak chcete volať funkciu, musíte zadať názov funkcie spolu so zátvorkou, za ktorou nasleduje bodkočiarka „;“.

Príklad:

V tejto situácii deklarujme a zostavme užívateľom definovanú funkciu.

Na začiatku, ako je opísané v každom programe, máme pridelenú knižnicu a menný priestor na podporu vykonávania programu. Funkcia definovaná používateľom pôrod() sa vždy volá pred zapísaním hlavné() funkciu. Funkcia s názvom pôrod() sa vyhlási tam, kde sa zobrazí správa „Práca si zaslúži rešpekt!“. V hlavné() funkciu s návratovým typom celé číslo, voláme funkciu pôrod() funkciu.

Toto je jednoduchá správa, ktorá bola definovaná v užívateľom definovanej funkcii zobrazenej tu pomocou hlavné() funkciu.

Neplatné:

Vo vyššie uvedenom prípade sme si všimli, že typ návratu funkcie definovanej používateľom je neplatný. To znamená, že funkcia nevracia žiadnu hodnotu. To znamená, že hodnota nie je prítomná alebo je pravdepodobne nulová. Pretože kedykoľvek funkcia iba tlačí správy, nepotrebuje žiadnu návratovú hodnotu.

Táto prázdnota sa podobne používa v priestore parametrov funkcie, aby bolo jasné, že táto funkcia počas volania nenadobúda žiadnu skutočnú hodnotu. Vo vyššie uvedenej situácii by sme tiež nazvali pôrod() fungovať ako:

Prázdna práca ( neplatné )

{

Cout << „Práca si zaslúži rešpekt ! ;

}

Skutočné parametre:

Je možné definovať parametre funkcie. Parametre funkcie sú definované v zozname argumentov funkcie, ktorá sa pridáva k názvu funkcie. Kedykoľvek voláme funkciu, musíme odovzdať skutočné hodnoty parametrov, aby sme dokončili vykonanie. Tieto sú uzavreté ako aktuálne parametre. Zatiaľ čo parametre, ktoré sú definované pri definovaní funkcie, sú známe ako formálne parametre.

Príklad:

V tomto príklade sa chystáme vymeniť alebo nahradiť dve celočíselné hodnoty prostredníctvom funkcie.

Na začiatku preberáme hlavičkový súbor. Používateľom definovaná funkcia je deklarovaná a definovaná pomenovaná sub(). Táto funkcia sa používa na nahradenie dvoch celočíselných hodnôt, ktorými sú i a n. Ďalej sa aritmetické operátory používajú na výmenu týchto dvoch celých čísel. Hodnota prvého celého čísla „i“ sa uloží namiesto hodnoty „n“ a hodnota n sa uloží namiesto hodnoty „i“. Potom sa vytlačí výsledok po prepnutí hodnôt. Ak hovoríme o hlavné() Preberáme a zobrazujeme hodnoty dvoch celých čísel od používateľa. V poslednom kroku užívateľom definovaná funkcia sub() sa volá a tieto dve hodnoty sú zamenené.

V tomto prípade nahradenia týchto dvoch čísel jasne vidíme, že pri použití sub() funkcie, hodnoty „i“ a „n“ v zozname parametrov sú formálne parametre. Skutočné parametre sú parameter, ktorý prechádza na konci hlavné() funkcia, kde sa volá substitučná funkcia.

C++ ukazovatele:

Ukazovateľ v C++ sa dá ľahšie naučiť a skvele sa používa. V jazyku C++ sa používajú ukazovatele, pretože nám uľahčujú prácu a všetky operácie fungujú s vysokou účinnosťou, keď sú zahrnuté ukazovatele. Existuje tiež niekoľko úloh, ktoré sa nevykonajú, pokiaľ sa nepoužijú ukazovatele ako dynamické prideľovanie pamäte. Keď hovoríme o ukazovateľoch, hlavnou myšlienkou, ktorú musíme pochopiť, je, že ukazovateľ je len premenná, ktorá uloží presnú adresu pamäte ako svoju hodnotu. Rozsiahle používanie ukazovateľov v C++ je z nasledujúcich dôvodov:

  • Preniesť jednu funkciu do druhej.
  • Na pridelenie nových objektov na hromadu.
  • Pre iteráciu prvkov v poli

Na prístup k adrese akéhokoľvek objektu v pamäti sa zvyčajne používa operátor „&“ (ampersand).

Ukazovatele a ich typy:

Ukazovateľ má niekoľko typov:

  • Nulové ukazovatele: Sú to ukazovatele s hodnotou nula uložené v knižniciach C++.
  • Aritmetický ukazovateľ: Zahŕňa štyri hlavné aritmetické operátory, ktoré sú dostupné, a to ++, –, +, -.
  • Pole ukazovateľov: Sú to polia, ktoré sa používajú na ukladanie niektorých ukazovateľov.
  • Ukazovateľ na ukazovateľ: Je to miesto, kde sa ukazovateľ používa nad ukazovateľom.

Príklad:

Zamyslite sa nad nasledujúcim príkladom, v ktorom sú vytlačené adresy niekoľkých premenných.

Po zahrnutí hlavičkového súboru a štandardného priestoru názvov inicializujeme dve premenné. Jedna je celočíselná hodnota reprezentovaná i“ a druhá je pole typu znaku „I“ s veľkosťou 10 znakov. Adresy oboch premenných sa potom zobrazia pomocou príkazu „cout“.

Výstup, ktorý sme dostali, je uvedený nižšie:

Tento výsledok zobrazuje adresu oboch premenných.

Na druhej strane, ukazovateľ sa považuje za premennú, ktorej hodnota samotná je adresou inej premennej. Ukazovateľ vždy ukazuje na typ údajov, ktorý má rovnaký typ, aký je vytvorený pomocou operátora (*).

Vyhlásenie ukazovateľa:

Ukazovateľ je deklarovaný takto:

typu * bol - názov ;

Základný typ ukazovateľa je označený ako „type“, zatiaľ čo názov ukazovateľa je vyjadrený ako „var-name“. A na oprávnenie premennej na ukazovateľ sa používa hviezdička (*).

Spôsoby priradenia ukazovateľov k premenným:

Int * pi ; //ukazovateľ celočíselného dátového typu

Dvojité * pd ; //ukazovateľ dvojitého dátového typu

Plavák * pf ; //ukazovateľ dátového typu float

Char * pc ; //ukazovateľ dátového typu char

Takmer vždy existuje dlhé hexadecimálne číslo, ktoré predstavuje adresu pamäte, ktorá je na začiatku rovnaká pre všetky ukazovatele bez ohľadu na ich dátové typy.

Príklad:

Nasledujúca inštancia by ukázala, ako ukazovatele nahrádzajú operátor „&“ a ukladajú adresu premenných.

Chystáme sa integrovať podporu knižníc a adresárov. Potom by sme vyvolali hlavné() funkciu, kde najprv deklarujeme a inicializujeme premennú ‚n‘ typu ‚int‘ s hodnotou 55. V ďalšom riadku inicializujeme premennú ukazovateľa s názvom ‚p1‘. Potom priradíme adresu premennej „n“ k ukazovateľu „p1“ a potom ukážeme hodnotu premennej „n“. Zobrazí sa adresa „n“, ktorá je uložená v ukazovateli „p1“. Potom sa hodnota „*p1“ vytlačí na obrazovku pomocou príkazu „cout“. Výstup je nasledovný:

Tu vidíme, že hodnota „n“ je 55 a adresa „n“, ktorá bola uložená v ukazovateli „p1“, je zobrazená ako 0x6ffe14. Nájde sa hodnota premennej ukazovateľa a je to 55, čo je rovnaké ako hodnota celočíselnej premennej. Preto ukazovateľ ukladá adresu premennej a tiež ukazovateľ * má uloženú hodnotu celého čísla, ktoré následne vráti hodnotu pôvodne uloženej premennej.

Príklad:

Uvažujme o ďalšom príklade, kde používame ukazovateľ, ktorý ukladá adresu reťazca.

V tomto kóde najskôr pridávame knižnice a menný priestor. V hlavné() musíme deklarovať reťazec s názvom ‚makeup‘, ktorý má v sebe hodnotu ‚mascara‘. Ukazovateľ typu reťazca „*p2“ sa používa na uloženie adresy premennej makeupu. Hodnota premennej „makeup“ sa potom zobrazí na obrazovke pomocou príkazu „cout“. Potom sa vytlačí adresa premennej „makeup“ a nakoniec sa zobrazí premenná ukazovateľa „p2“ s adresou pamäte premennej „makeup“ s ukazovateľom.

Výstup získaný z vyššie uvedeného kódu je nasledujúci:

Prvý riadok obsahuje zobrazenú hodnotu premennej „makeup“. Druhý riadok zobrazuje adresu premennej ‘makeup’. V poslednom riadku je zobrazená adresa pamäte premennej „makeup“ s použitím ukazovateľa.

Správa pamäte C++:

Pre efektívnu správu pamäte v C++ je veľa operácií užitočných pre správu pamäte pri práci v C++. Keď používame C++, najčastejšie používaná procedúra prideľovania pamäte je dynamická alokácia pamäte, kde sú pamäte priradené k premenným počas behu; nie ako iné programovacie jazyky, kde by kompilátor mohol alokovať pamäť premenným. V C++ je delokácia premenných, ktoré boli dynamicky alokované, nevyhnutná, aby sa pamäť uvoľnila, keď sa premenná už nepoužíva.

Pre dynamickú alokáciu a dealokáciu pamäte v C++ vykonáme „ Nový' a 'vymazať' operácií. Je dôležité spravovať pamäť tak, aby sa žiadna pamäť neplytvala. Pridelenie pamäte sa stáva jednoduchým a efektívnym. V každom programe C++ sa pamäť používa v jednom z dvoch aspektov: buď ako halda alebo zásobník.

  • Stoh : Všetky premenné, ktoré sú deklarované vo funkcii, a všetky ďalšie detaily, ktoré s funkciou súvisia, sú uložené v zásobníku.
  • Hromada : Akýkoľvek druh nevyužitej pamäte alebo časť, z ktorej prideľujeme alebo priraďujeme dynamickú pamäť počas vykonávania programu, sa nazýva halda.

Pri používaní polí je alokácia pamäte úlohou, pri ktorej nemôžeme určiť pamäť, pokiaľ nie je čas behu. Pole teda priradíme maximálnu pamäť, ale to tiež nie je dobrý postup, pretože vo väčšine prípadov zostáva pamäť nevyužitá a nejako sa plytvá, čo jednoducho nie je dobrá voľba alebo prax pre váš osobný počítač. To je dôvod, prečo máme niekoľko operátorov, ktoré sa používajú na prideľovanie pamäte z haldy počas behu. Dva hlavné operátory „nové“ a „vymazať“ sa používajú na efektívne prideľovanie a rozdeľovanie pamäte.

Nový operátor C++:

Nový operátor je zodpovedný za pridelenie pamäte a používa sa takto:

V tomto kóde zahŕňame knižnicu a menný priestor. Potom sme inicializovali ukazovateľ s dátovým typom „int“. V ďalšom riadku je tomuto ukazovateľu priradený operátor „nový“.

Pamäť bola úspešne pridelená premennej „int“ pomocou ukazovateľa.

Operátor vymazania C++:

Kedykoľvek skončíme s používaním premennej, musíme uvoľniť pamäť, ktorú sme jej kedysi pridelili, pretože sa už nepoužíva. Na uvoľnenie pamäte používame operátor „delete“.

Príkladom, ktorý sa práve chystáme preskúmať, je zahrnutie oboch operátorov.

Vypočítavame priemer pre tri rôzne hodnoty prevzaté od používateľa. Premenné ukazovateľa sú priradené operátorom „new“ na uloženie hodnôt. Vzorec priemeru je implementovaný. Potom sa použije operátor „delete“, ktorý vymaže hodnoty, ktoré boli uložené v premenných ukazovateľa pomocou operátora „new“. Toto je dynamická alokácia, pri ktorej sa alokácia uskutočňuje počas behu programu a potom k rozdeleniu dôjde krátko po ukončení programu.

Použitie poľa na pridelenie pamäte:

Teraz uvidíme, ako sa používajú operátory „nové“ a „vymazanie“ pri využívaní polí. Dynamická alokácia prebieha rovnakým spôsobom ako v prípade premenných, pretože syntax je takmer rovnaká.

V danom prípade uvažujeme o poli prvkov, ktorých hodnota je prevzatá od používateľa. Vezmú sa prvky poľa a deklaruje sa premenná ukazovateľa a potom sa pridelí pamäť. Čoskoro po pridelení pamäte sa spustí vstupná procedúra prvkov poľa. Ďalej sa výstup pre prvky poľa zobrazí pomocou slučky „for“. Tento cyklus má podmienku iterácie prvkov, ktoré majú veľkosť menšiu ako je skutočná veľkosť poľa, ktoré je reprezentované n.

Keď sa použijú všetky prvky a neexistuje žiadna ďalšia požiadavka na ich opätovné použitie, pamäť priradená prvkom sa uvoľní pomocou operátora „delete“.

Vo výstupe sme mohli vidieť množiny hodnôt vytlačené dvakrát. Prvý cyklus „for“ bol použitý na zapisovanie hodnôt pre prvky a druhý cyklus „for“ sa používa na tlač už zapísaných hodnôt, čo ukazuje, že používateľ tieto hodnoty zapísal kvôli prehľadnosti.

Výhody:

Operátory „new“ a „delete“ sú vždy prioritou v programovacom jazyku C++ a sú široko používané. Pri dôkladnej diskusii a pochopení je potrebné poznamenať, že „nový“ operátor má príliš veľa výhod. Výhody „nového“ operátora na prideľovanie pamäte sú nasledovné:

  • Nový operátor môže byť preťažený s väčšou ľahkosťou.
  • Pri prideľovaní pamäte počas behu programu vždy, keď nie je dostatok pamäte, dôjde k automatickej výnimke, a nie k ukončeniu programu.
  • Zhon pri používaní procedúry typového obsadzovania tu nie je prítomný, pretože „nový“ operátor má rovnaký typ ako pamäť, ktorú sme pridelili.
  • Operátor „new“ tiež odmieta myšlienku použitia operátora sizeof(), pretože operátor „nový“ nevyhnutne vypočíta veľkosť objektov.
  • Operátor „new“ nám umožňuje inicializovať a deklarovať objekty, aj keď pre ne spontánne generuje priestor.

Polia C++:

Budeme viesť dôkladnú diskusiu o tom, čo sú polia a ako sa deklarujú a implementujú v programe C++. Pole je dátová štruktúra používaná na ukladanie viacerých hodnôt len ​​do jednej premennej, čím sa znižuje zhon nezávislej deklarácie mnohých premenných.

Deklarácia polí:

Na deklarovanie poľa je potrebné najprv definovať typ premennej a dať poliu vhodný názov, ktorý sa potom pridá do hranatých zátvoriek. Toto bude obsahovať počet prvkov zobrazujúcich veľkosť konkrétneho poľa.

Napríklad:

Strunový make-up [ 5 ] ;

Táto premenná je deklarovaná a ukazuje, že obsahuje päť reťazcov v poli s názvom „makeup“. Na identifikáciu a ilustráciu hodnôt tohto poľa musíme použiť zložené zátvorky, pričom každý prvok je oddelene uzavretý v dvojitých obrátených čiarkach, pričom každý je oddelený jednou čiarkou medzi nimi.

Napríklad:

Strunový make-up [ 5 ] = { 'Riasenka' , 'Odtieň' , 'rúž' , 'Nadácia' , 'Najprv' } ;

Podobne, ak chcete vytvoriť ďalšie pole s iným typom údajov, ktorý by mal byť „int“, postup by bol rovnaký, stačí zmeniť typ údajov premennej, ako je uvedené nižšie:

int Násobky [ 5 ] = { dva , 4 , 6 , 8 , 10 } ;

Pri priraďovaní celočíselných hodnôt do poľa ich nesmieme obsahovať v obrátenej čiarke, čo by fungovalo iba pre reťazcovú premennú. Pole teda jednoznačne predstavuje kolekciu vzájomne súvisiacich údajových položiek s odvodenými typmi údajov, ktoré sú v nich uložené.

Ako získať prístup k prvkom v poli?

Všetkým prvkom zahrnutým v poli je priradené odlišné číslo, ktoré je ich indexovým číslom, ktoré sa používa na prístup k prvku z poľa. Hodnota indexu začína od 0 do jednej menšej ako je veľkosť poľa. Úplne prvá hodnota má hodnotu indexu 0.

Príklad:

Zoberme si veľmi jednoduchý a jednoduchý príklad, v ktorom budeme inicializovať premenné v poli.

Hneď v prvom kroku začleňujeme hlavičkový súbor , ktorý do programu automaticky pridá všetky potrebné knižnice. Priestor názvov „std“ poskytne rozsah pre adresáre. V treťom riadku voláme hlavné() funkciu. Zložená zátvorka označuje spustenie funkcie. Po vstupe do funkcie deklarujeme pole typu „int“ s názvom „číslice“. Obsahuje veľkosť 4, čo znamená, že môže obsahovať iba 4 celočíselné hodnoty naraz. Každému z prvkov v poli bola priradená jedinečná a odlišná číslica samostatne. Potom sa zobrazí celé pole, pričom každá položka sa vyvolá samostatne.

Toto je výsledok získaný z vyššie uvedeného kódu. Kľúčové slovo „endl“ automaticky presunie ďalšiu položku na ďalší riadok.

Príklad:

V tomto kóde používame cyklus „for“ na tlač položiek poľa.

Vo vyššie uvedenom prípade pridávame základnú knižnicu. Pridáva sa štandardný priestor názvov. The hlavné() funkcia je funkcia, v ktorej budeme vykonávať všetky funkcie na vykonanie konkrétneho programu. Ďalej deklarujeme pole typu int s názvom „Num“, ktoré má veľkosť 10. Hodnota týchto desiatich premenných je prevzatá od používateľa pomocou cyklu „for“. Na zobrazenie tohto poľa sa opäť používa slučka „for“. 10 celých čísel uložených v poli sa zobrazí pomocou príkazu „cout“.

Toto je výstup, ktorý sme dostali z vykonania vyššie uvedeného kódu, zobrazujúci 10 celých čísel s rôznymi hodnotami.

Príklad:

V tomto scenári sa chystáme zistiť priemerné skóre študenta a percento, ktoré získal v triede.

Najprv musíte pridať knižnicu, ktorá bude poskytovať počiatočnú podporu programu C++. Ďalej špecifikujeme veľkosť 5 poľa s názvom „Skóre“. Potom sme inicializovali premennú „súčet“ údajového typu float. Skóre každého predmetu sa získavajú od používateľa manuálne. Potom sa použije cyklus „pre“ na zistenie priemeru a percenta všetkých zahrnutých predmetov. Súčet sa získa pomocou poľa a cyklu „for“. Potom sa priemer zistí pomocou vzorca priemeru. Po zistení priemeru prevedieme jeho hodnotu na percento, ktoré sa pripočítava do vzorca, aby sme dostali percento. Potom sa vypočíta a zobrazí priemer a percento.

Toto je konečný výstup, kde sa preberajú skóre od používateľa pre každý subjekt jednotlivo a vypočíta sa priemer a percento.

Výhody použitia polí:

  • Položky v poli sú ľahko prístupné vďaka indexovému číslu, ktoré im bolo priradené.
  • Operáciu vyhľadávania môžeme jednoducho vykonať cez pole.
  • V prípade, že chcete zložitosť programovania, môžete použiť 2-rozmerné pole, ktoré tiež charakterizuje matice.
  • Na uloženie viacerých hodnôt, ktoré majú podobný dátový typ, možno jednoducho použiť pole.

Nevýhody použitia polí:

  • Polia majú pevnú veľkosť.
  • Polia sú homogénne, čo znamená, že je uložený iba jeden typ hodnoty.
  • Polia ukladajú údaje do fyzickej pamäte jednotlivo.
  • Proces vkladania a odstraňovania nie je pre polia jednoduchý.

Objekty a triedy C++:

C++ je objektovo orientovaný programovací jazyk, čo znamená, že objekty hrajú v C++ zásadnú úlohu. Keď hovoríme o objektoch, musíme najprv zvážiť, čo sú objekty, takže objekt je akákoľvek inštancia triedy. Keďže C++ sa zaoberá konceptmi OOP, hlavné veci, o ktorých treba diskutovať, sú objekty a triedy. Triedy sú v skutočnosti dátové typy, ktoré sú definované samotným užívateľom a sú určené na zapuzdrenie dátových členov a funkcií, ktoré sú prístupné iba inštancia pre konkrétnu triedu je vytvorená. Dátové členy sú premenné, ktoré sú definované vo vnútri triedy.



Inými slovami, trieda je osnova alebo návrh, ktorý je zodpovedný za definíciu a deklaráciu dátových členov a funkcií priradených týmto dátovým členom. Každý z objektov, ktoré sú deklarované v triede, by bol schopný zdieľať všetky vlastnosti alebo funkcie, ktoré trieda vykazuje.

Predpokladajme, že existuje trieda s názvom vtáky, teraz spočiatku všetky vtáky mohli lietať a mať krídla. Preto je lietanie správanie, ktoré si tieto vtáky osvojujú a krídla sú súčasťou ich tela alebo základnou charakteristikou.







Definovanie triedy:

Ak chcete definovať triedu, musíte postupovať podľa syntaxe a nastaviť ju podľa vašej triedy. Kľúčové slovo „class“ sa používa na definovanie triedy a všetky ostatné dátové členy a funkcie sú definované v zložených zátvorkách, za ktorými nasleduje definícia triedy.





Class NameOfClass

{

Špecifikátor prístupu :

Dátoví členovia ;

Funkcie dátových členov ( ) ;

} ;

Deklarovanie predmetov:

Čoskoro po definovaní triedy musíme vytvoriť objekty na prístup a definovať funkcie, ktoré boli špecifikované triedou. Na to musíme napísať názov triedy a potom názov objektu na deklaráciu.



Prístup k dátovým členom:

K funkciám a dátovým členom sa pristupuje pomocou jednoduchého operátora s bodkou „.“. Prístup k verejným dátovým členom má aj tento operátor, ale v prípade súkromných dátových členov k nim jednoducho nemáte priamy prístup. Prístup údajových členov závisí od riadenia prístupu, ktoré im poskytujú modifikátory prístupu, ktoré sú súkromné, verejné alebo chránené. Tu je scenár, ktorý ukazuje, ako deklarovať jednoduchú triedu, dátové členy a funkcie.











Príklad:

V tomto príklade ideme definovať niekoľko funkcií a pristupovať k funkciám triedy a dátovým členom pomocou objektov.



V prvom kroku integrujeme knižnicu, potom musíme zahrnúť podporné adresáre. Trieda je explicitne definovaná pred volaním hlavné() funkciu. Táto trieda sa nazýva „vozidlo“. Dátovými členmi boli „názov vozidla“ a „id“ tohto vozidla, čo je poznávacia značka pre toto vozidlo s reťazcom a typ údajov int. Tieto dve funkcie sú deklarované pre tieto dva dátové členy. The id() funkcia zobrazuje ID vozidla. Keďže dátové členy triedy sú verejné, môžeme k nim pristupovať aj mimo triedy. Preto voláme na názov() funkciu mimo triedy a potom prevzatie hodnoty pre „VehicleName“ od používateľa a jej vytlačenie v ďalšom kroku. V hlavné() funkciu, deklarujeme objekt požadovanej triedy, ktorý pomôže pri prístupe k dátovým členom a funkciám z triedy. Ďalej inicializujeme hodnoty pre názov vozidla a jeho id, iba ak používateľ nezadá hodnotu pre názov vozidla.

Toto je výstup, ktorý dostane používateľ, keď sám uvedie názov vozidla a poznávacie značky sú statickou hodnotou, ktorá mu bola priradená.

Keď hovoríme o definícii členských funkcií, musíme pochopiť, že nie je vždy povinné definovať funkciu v rámci triedy. Ako môžete vidieť vo vyššie uvedenom príklade, definujeme funkciu triedy mimo triedy, pretože dátové členy sú verejne deklarované a to sa robí pomocou operátora rozlíšenia rozsahu, ktorý je zobrazený ako „::“ spolu s názvom triedu a názov funkcie.

C++ konštruktory a deštruktory:

Pomocou príkladov získame dôkladný pohľad na túto tému. Vymazávanie a vytváranie objektov v programovaní C++ sú veľmi dôležité. Preto vždy, keď vytvoríme inštanciu pre triedu, v niekoľkých prípadoch automaticky zavoláme metódy konštruktora.

Konštruktéri:

Ako naznačuje názov, konštruktor je odvodený od slova „konštrukt“, ktoré určuje vytvorenie niečoho. Konštruktor je teda definovaný ako odvodená funkcia novovytvorenej triedy, ktorá zdieľa názov triedy. A používa sa na inicializáciu objektov zahrnutých v triede. Konštruktor tiež nemá návratovú hodnotu pre seba, čo znamená, že ani jeho návratový typ nebude neplatný. Nie je povinné prijať argumenty, ale v prípade potreby ich možno doplniť. Konštruktory sú užitočné pri prideľovaní pamäte objektu triedy a pri nastavovaní počiatočnej hodnoty pre členské premenné. Počiatočná hodnota môže byť odovzdaná vo forme argumentov funkcii konštruktora po inicializácii objektu.

Syntax:

NameOfTheClass ( )
{
//telo konštruktora
}

Typy konštruktérov:

Parametrizovaný konštruktor:

Ako bolo uvedené vyššie, konštruktor nemá žiadny parameter, ale je možné pridať parameter podľa vlastného výberu. Tým sa inicializuje hodnota objektu počas jeho vytvárania. Ak chcete lepšie pochopiť tento koncept, zvážte nasledujúci príklad:

Príklad:

V tomto prípade by sme vytvorili konštruktor triedy a deklarovali parametre.

Hneď v prvom kroku zahrnieme hlavičkový súbor. Ďalším krokom používania menného priestoru je podpora adresárov programu. Je deklarovaná trieda s názvom „číslice“, kde sú premenné najprv verejne inicializované, aby mohli byť prístupné v celom programe. Je deklarovaná premenná s názvom „dig1“ s dátovým typom celé číslo. Ďalej sme deklarovali konštruktor, ktorého názov je podobný názvu triedy. Tomuto konštruktorovi je odovzdaná celočíselná premenná ako „n“ a premenná triedy „dig1“ je nastavená na hodnotu n. V hlavné() funkcie programu sa vytvoria tri objekty pre triedu „číslice“ a priradia sa im nejaké náhodné hodnoty. Tieto objekty sa potom použijú na vyvolanie premenných tried, ktorým sú automaticky priradené rovnaké hodnoty.

Celočíselné hodnoty sú prezentované na obrazovke ako výstup.

Kopírovať konštruktor:

Je to typ konštruktora, ktorý považuje objekty za argumenty a duplikuje hodnoty dátových členov jedného objektu do druhého. Preto sa tieto konštruktory používajú na deklarovanie a inicializáciu jedného objektu od druhého. Tento proces sa nazýva inicializácia kopírovania.

Príklad:

V tomto prípade bude deklarovaný konštruktor kópie.

Najprv integrujeme knižnicu a adresár. Je deklarovaná trieda s názvom „New“, v ktorej sú celé čísla inicializované ako „e“ a „o“. Konštruktor je zverejnený, kde sú dvom premenným priradené hodnoty a tieto premenné sú deklarované v triede. Potom sa tieto hodnoty zobrazia pomocou hlavné() funkciu s „int“ ako typ návratu. The zobraziť() Funkcia sa volá a definuje potom, kde sa čísla zobrazia na obrazovke. Vnútri hlavné() Funkcia, objekty sú vytvorené a tieto priradené objekty sú inicializované s náhodnými hodnotami a potom zobraziť() používa sa metóda.

Výstup získaný použitím konštruktora kopírovania je uvedený nižšie.

Torpédoborce:

Ako už názov definuje, deštruktory sa používajú na zničenie vytvorených objektov konštruktorom. V porovnaní s konštruktormi majú deštruktory rovnaký názov ako trieda, ale nasleduje ďalšia vlnovka (~).

Syntax:

~Nové ( )
{
}

Deštruktor neprijíma žiadne argumenty a nemá ani žiadnu návratovú hodnotu. Kompilátor sa implicitne odvoláva na ukončenie programu kvôli vyčisteniu úložiska, ktoré už nie je prístupné.

Príklad:

V tomto scenári používame deštruktor na odstránenie objektu.

Tu sa vytvára trieda „Topánok“. Vytvorí sa konštruktor, ktorý má podobný názov ako trieda. V konštruktore sa zobrazí správa, kde je objekt vytvorený. Po konštruktore sa vytvorí deštruktor, ktorý vymaže objekty vytvorené pomocou konštruktora. V hlavné() vytvorí sa objekt ukazovateľa s názvom „s“ a na odstránenie tohto objektu sa použije kľúčové slovo „delete“.

Toto je výstup, ktorý sme dostali z programu, kde deštruktor čistí a ničí vytvorený objekt.

Rozdiel medzi konštruktérmi a deštruktormi:

Konštruktéri ničiteľov
Vytvorí inštanciu triedy. Zničí inštanciu triedy.
Má argumenty pozdĺž názvu triedy. Nemá žiadne argumenty ani parametre
Volá sa pri vytvorení objektu. Volá sa, keď je objekt zničený.
Prideľuje pamäť objektom. Dealokuje pamäť predmetov.
Môže byť preťažený. Nedá sa preťažiť.

Dedičnosť C++:

Teraz sa dozvieme o dedičnosti C++ a jej rozsahu.

Dedičnosť je metóda, pomocou ktorej sa generuje nová trieda alebo je odvodená z existujúcej triedy. Súčasná trieda sa nazýva „základná trieda“ alebo tiež „rodičovská trieda“ a nová trieda, ktorá sa vytvorí, sa nazýva „odvodená trieda“. Keď hovoríme, že podradená trieda je dedená od rodičovskej triedy, znamená to, že dieťa má všetky vlastnosti nadradenej triedy.

Dedičstvo sa vzťahuje na (je) vzťah. Akýkoľvek vzťah nazývame dedičstvom, ak sa medzi dvoma triedami používa „je-a“.

Napríklad:

  • Papagáj je vták.
  • Počítač je stroj.

Syntax:

V programovaní v C++ používame alebo píšeme dedičnosť takto:

trieda < odvodené - trieda >: < prístup - špecifikátor < základňu - trieda >

Režimy dedičnosti C++:

Dedičnosť zahŕňa 3 režimy dedenia tried:

  • Verejné: V tomto režime, ak je deklarovaná podradená trieda, potom členovia rodičovskej triedy zdedí podradená trieda rovnako ako v rodičovskej triede.
  • Chránené: I V tomto režime sa verejní členovia rodičovskej triedy stanú chránenými členmi v podradenej triede.
  • Súkromné : V tomto režime sa všetci členovia nadradenej triedy stanú súkromnými v podradenej triede.

Typy C++ dedičnosti:

Nasledujú typy dedičnosti C++:

1. Jediné dedičstvo:

Pri tomto druhu dedenia triedy vznikli z jednej základnej triedy.

Syntax:

trieda M
{
Telo
} ;
trieda N : verejný M
{
Telo
} ;

2. Viacnásobné dedičstvo:

Pri tomto druhu dedičnosti môže trieda pochádzať z rôznych základných tried.

Syntax:

trieda M

{

Telo

} ;

trieda N

{

Telo

} ;

trieda O : verejný M , verejné N

{

Telo

} ;

3. Viacúrovňová dedičnosť:

Podradená trieda je potomkom inej podradenej triedy v tejto forme dedenia.

Syntax:

trieda M

{

Telo

} ;

trieda N : verejný M

{

Telo

} ;

trieda O : verejné N

{

Telo

} ;

4. Hierarchické dedičstvo:

Pri tejto metóde dedenia sa z jednej základnej triedy vytvorí niekoľko podtried.

Syntax:

trieda M

{

Telo

} ;

trieda N : verejný M

{

Telo

} ;

trieda O : verejný M

{

} ;

5. Hybridná dedičnosť:

Pri tomto druhu dedenia sa kombinujú viaceré dedičstvá.

Syntax:

trieda M

{

Telo

} ;

trieda N : verejný M

{

Telo

} ;

trieda O

{

Telo

} ;

trieda P : verejné N , verejný O

{

Telo

} ;

Príklad:

Spustíme kód, aby sme demonštrovali koncept viacnásobnej dedičnosti v programovaní v C++.

Keďže sme začali so štandardnou vstupno-výstupnou knižnicou, potom sme dali základnej triede názov „Bird“ a zverejnili sme ho, aby boli jeho členovia prístupní. Potom máme základnú triedu „Reptile“ a tiež sme ju zverejnili. Potom máme „cout“ na tlač výstupu. Potom sme vytvorili „tučniaka“ triedy pre deti. V hlavné() funkciou sme urobili objekt triedy tučniak ‚p1‘. Najprv sa spustí trieda „Bird“ a potom trieda „Plaz“.

Po vykonaní kódu v C++ dostaneme výstupné príkazy základných tried ‘Bird’ a ‘Reptile’. Znamená to, že trieda „tučniak“ je odvodená zo základných tried „Vták“ a „Plaz“, pretože tučniak je vták aj plaz. Dokáže lietať aj plaziť sa. Viacnásobná dedičnosť teda dokázala, že jedna detská trieda môže byť odvodená z mnohých základných tried.

Príklad:

Tu spustíme program, ktorý ukáže, ako využiť viacúrovňovú dedičnosť.

Náš program sme spustili pomocou vstupno-výstupných prúdov. Potom sme deklarovali nadradenú triedu „M“, ktorá je nastavená ako verejná. Zavolali sme na zobraziť() funkciu a príkaz „cout“ na zobrazenie výpisu. Ďalej sme vytvorili podradenú triedu „N“, ktorá je odvodená od rodičovskej triedy „M“. Máme novú podradenú triedu „O“ odvodenú od podradenej triedy „N“ a telo oboch odvodených tried je prázdne. Na záver vyvoláme hlavné() funkciu, v ktorej musíme inicializovať objekt triedy ‚O‘. The zobraziť() funkcia objektu sa využíva na demonštráciu výsledku.

Na tomto obrázku máme výsledok triedy „M“, ktorá je rodičovskou triedou, pretože sme mali a zobraziť() funkciu v ňom. Trieda „N“ je teda odvodená z nadradenej triedy „M“ a trieda „O“ z nadradenej triedy „N“, ktorá odkazuje na viacúrovňové dedičstvo.

Polymorfizmus C++:

Termín „polymorfizmus“ predstavuje súhrn dvoch slov „poly“ a ‘ morfizmus . Slovo „Poly“ predstavuje „veľa“ a „morfizmus“ predstavuje „formy“. Polymorfizmus znamená, že objekt sa môže v rôznych podmienkach správať odlišne. Umožňuje programátorovi opätovne použiť a rozšíriť kód. Rovnaký kód pôsobí odlišne v závislosti od podmienky. Uzákonenie objektu môže byť použité v čase spustenia.

Kategórie polymorfizmu:

Polymorfizmus sa vyskytuje hlavne dvoma spôsobmi:

  1. Polymorfizmus času kompilácie
  2. Polymorfizmus doby behu

poďme vysvetliť.

6. Polymorfizmus času kompilácie:

Počas tejto doby sa zadaný program zmení na spustiteľný program. Pred nasadením kódu sa zistia chyby. Sú to predovšetkým dve kategórie.

  • Preťaženie funkcií
  • Preťaženie operátora

Pozrime sa, ako využívame tieto dve kategórie.

7. Preťaženie funkcií:

Znamená to, že funkcia môže vykonávať rôzne úlohy. Funkcie sú známe ako preťažené, keď existuje niekoľko funkcií s podobným názvom, ale odlišnými argumentmi.

Najprv použijeme knižnicu ako aj štandardný menný priestor. Potom by sme deklarovali používateľom definovanú triedu „Pridať“. Vo vnútri triedy definujeme funkciu ADD() s dvoma parametrami ako public. Opäť deklarujte novú funkciu v tele triedy s rovnakým názvom, ale táto funkcia nemá žiadny parameter. Tu inicializujeme tri reťazce. Prvé dva reťazce majú určitú hodnotu a posledný reťazec sa používa na zreťazenie prvých dvoch reťazcov. Na tlač výsledku používame príkaz „cout“. Ďalej zavoláme hlavné() metóda mimo triedy. Skonštruujeme objekt požadovanej triedy ‘Pridať’. Teraz zavoláme prvú funkciu s dvoma parametrami a potom zavoláme aj druhú funkciu. V poslednom kroku zahrnieme príkaz „návrat 0“ na ukončenie programu.

Preťaženie operátora:

Proces definovania viacerých funkcií operátora sa nazýva preťaženie operátora.

Vyššie uvedený príklad obsahuje hlavičkový súbor . Potom sme použili štandardný menný priestor. Definujeme triedu ‚Integer‘. V rámci tejto triedy zadávame celé číslo ako súkromného člena triedy. Ďalej deklarujeme parametrizovaný konštruktor ako verejný člen a inicializujeme v ňom hodnotu celého čísla. Definujeme konštruktor s preťažujúcim prefixovým operátorom. Vo vnútri tohto konštruktora vykonávame operáciu s predponou. Okrem toho vytvoríme funkciu, ktorá zobrazí hodnotu prírastku pomocou príkazu „cout“. Medzitým vyvoláme hlavné() funkciu. Tu vytvoríme dva objekty triedy. Prvý objekt odovzdá hodnotu celého čísla. Potom použite príkaz „cout“ na vytlačenie riadku „Pred zvýšením hodnoty je“. Ďalej zavoláme zobraziť() funkcia pre prvý objekt. Druhý objekt používa operátor predbežného prírastku. Príkaz „cout“ používame na zobrazenie riadku „Po predbežnom zvýšení je hodnota“. Potom použijeme zobraziť() funkciu pre druhý objekt.

8. Polymorfizmus doby behu:

Je to časové rozpätie, v ktorom kód beží. Po použití kódu je možné zistiť chyby.

Prepísanie funkcie:

Stáva sa to, keď odvodená trieda používa podobnú definíciu funkcie ako jedna zo základných členských funkcií triedy.

V prvom riadku začleňujeme knižnicu na vykonávanie vstupných a výstupných operácií. Ďalej pridáme štandardný menný priestor. V ďalšom riadku deklarujeme rodičovskú triedu „Muž“. Vo vnútri triedy definujeme funkciu s dvoma parametrami ako public. Potom použijeme príkaz „cout“ na zobrazenie textu „Chôdza“. Mimo triedy vytvoríme podradenú triedu „Zviera“, ktorá je odvodená od rodičovskej triedy. Tu vytvoríme funkciu s podobným názvom ako tá, ktorá bola predtým deklarovaná v nadradenej triede. Potom použite príkaz „cout“ na zobrazenie textu „Jedlo“. Používame hlavné() funkciu. Medzitým vytvoríme objekt triedy „m“. Potom zavoláme funkciu rodičovskej triedy aj funkciu podradenej triedy. Použite príkaz „návrat 0“.

C++ reťazce:

Teraz zistíme, ako deklarovať a inicializovať reťazec v C++. Reťazec sa používa na uloženie skupiny znakov v programe. V programe ukladá abecedné hodnoty, číslice a symboly špeciálneho typu. Vyhradila si znaky ako pole v programe C++. Polia sa používajú na rezerváciu kolekcie alebo kombinácie znakov v programovaní C++. Na ukončenie poľa sa používa špeciálny symbol známy ako nulový znak. Je reprezentovaná sekvenciou escape (\0) a používa sa na určenie konca reťazca.

Získajte reťazec pomocou príkazu „cin“:

Používa sa na zadanie reťazcovej premennej bez akéhokoľvek prázdneho miesta. V danom prípade implementujeme program C++, ktorý získa meno používateľa pomocou príkazu „cin“.

V prvom kroku použijeme knižnicu . Medzitým sme zahrnuli štandardný priestor názvov. Ďalej vyhlasujeme hlavné() funkciu. Inicializujeme reťazec typu znaku v tele súboru hlavné() funkciu. Potom použijeme vyhlásenie „cout“ na vytlačenie „Zadajte svoje meno“. Na vyžiadanie reťazca od používateľa používame príkaz „cin“. Príkaz „cout“ sa použije na vytlačenie mena, ktoré by napísal používateľ. Na ukončenie programu sa pridá príkaz return 0.

Používateľ zadá meno „Ahmed Chaudry“. Ako výstup však dostaneme iba „Ahmed“ a nie úplný „Ahmed Chaudry“, pretože príkaz „cin“ nemôže uložiť reťazec s prázdnym priestorom. Ukladá iba hodnotu pred medzerou.

Získajte reťazec pomocou funkcie cin.get():

The dostať () funkcia príkazu cin sa používa na získanie reťazca z klávesnice, ktorý môže obsahovať prázdne miesta.

Vyššie uvedený príklad obsahuje knižnicu na vykonávanie vstupných a výstupných operácií. Potom sme použili štandardný menný priestor. The hlavné() funkcia sa volá. Potom inicializujeme reťazec s názvom „s“. V ďalšom kroku sa príkaz „cout“ použije na zobrazenie príkazu „Zadajte reťazec“. The cin.get() sa použije na získanie reťazca od používateľa. Pomocou cin.get() funkcii odovzdáme hodnotu reťazca a ako parameter určíme veľkosť reťazca. Príkaz „cout“ sa opäť používa na zobrazenie výstupu programu. Nakoniec pridáme návratovú 0.

Používateľ zadá reťazec „Moje meno je Ali“. Ako výsledok dostaneme úplný reťazec „Moje meno je Ali“, pretože funkcia cin.get() akceptuje reťazce, ktoré obsahujú prázdne miesta.

Použitie 2D (dvojrozmerného) poľa reťazcov:

V tomto prípade preberáme vstup (názov troch miest) od používateľa pomocou 2D poľa reťazcov.

Najprv integrujeme hlavičkový súbor a štandardný menný priestor. Vyzývame na hlavné() funkciu. Potom inicializujeme dvojrozmerné pole znakov s tromi riadkami a pätnástimi stĺpcami. V ďalšom kroku sa cyklus for používa na počítanie premennej „i“, aby sa opakoval požadovaný reťazec, kým sa neidentifikuje nulový znak. Vo vnútri tela cyklu „for“ používame príkaz „cout“ na zobrazenie riadku „Zadajte názov mesta“. Potom použite výraz „cin“ na získanie názvu mesta. Opäť používame ďalší cyklus „for“ a príkaz „cout“ na zobrazenie názvov miest v poradí, kým sa cyklus neskončí. Ďalej sa použije príkaz „návrat 0“.

Tu používateľ zadá názov troch rôznych miest. Program používa index riadku na získanie troch hodnôt reťazca. Každá hodnota je ponechaná v samostatnom riadku. Prvý reťazec je uložený v prvom riadku atď. Každá hodnota reťazca sa zobrazuje rovnakým spôsobom pomocou indexu riadka.

Štandardná knižnica C++:

Knižnica C++ je klaster alebo zoskupenie mnohých funkcií, tried, konštánt a všetkých súvisiacich položiek uzavretých takmer v jednej správnej množine, pričom vždy definuje a deklaruje štandardizované hlavičkové súbory. Ich implementácia zahŕňa dva nové hlavičkové súbory, ktoré nie sú vyžadované štandardom C++ s názvom a . Existuje dlhý zoznam povinných hlavičkových súborov, ktorý závisí od požiadaviek kompilátora. Súbory hlavičiek obsahujú zoznam hlavičiek, ktorý má všetok obsah zo štandardnej knižnice C++, vrátane špecifických súborov hlavičiek pre šablónu Stand Library Template (STL).

Štandardná knižnica odstraňuje zhon s prepisovaním inštrukcií počas programovania. Toto má vo vnútri veľa knižníc, ktoré majú uložený kód pre mnoho funkcií. Pre správne využitie týchto knižníc je povinné ich prepojiť pomocou hlavičkových súborov. Keď importujeme vstupnú alebo výstupnú knižnicu, znamená to, že importujeme všetok kód, ktorý bol uložený v tejto knižnici, a tak môžeme použiť aj funkcie v nej obsiahnuté tým, že skryjeme všetok základný kód, ktorý možno nebudete potrebovať. pozri.

Štandardná knižnica C++ podporuje nasledujúce dva typy:

  • Hostiteľská implementácia, ktorá poskytuje všetky základné súbory hlavičiek štandardných knižníc popísané normou C++ ISO.
  • Samostatná implementácia, ktorá vyžaduje iba časť hlavičkových súborov zo štandardnej knižnice. Vhodná podmnožina je:
(deklarujúci aspoň

Atomic_signed_lock_free a atomic-unsigned_lock_free)

(deklaruje sa aspoň atexit, abort, at_quick_exit, exit, quick_exit)
<úžitok>

Odkedy prišlo posledných 11 C++, bolo odsúdených niekoľko hlavičkových súborov: To sú , a .

Rozdiely medzi hosťovanými a voľne stojacimi implementáciami sú znázornené nižšie:

  • V hostovanej implementácii musíme použiť globálnu funkciu, ktorá je hlavnou funkciou. V samostatnej implementácii môže používateľ deklarovať a definovať počiatočné a koncové funkcie samostatne.
  • Implementácia hostingu má jedno vlákno povinne spustené v čase zhody. Zatiaľ čo pri samostatnej implementácii sa implementátori sami rozhodnú, či potrebujú podporu súbežného vlákna vo svojej knižnici.

Typy:

Ako voľne stojace, tak aj hosťované sú podporované C++. Hlavičkové súbory sú rozdelené do nasledujúcich dvoch:

  • Iostream časti
  • Časti C++ STL (štandardná knižnica)

Kedykoľvek píšeme program na vykonávanie v C++, vždy voláme funkcie, ktoré sú už implementované v STL. Tieto známe funkcie efektívne využívajú vstup a výstup pomocou identifikovaných operátorov.

Vzhľadom na históriu sa STL pôvodne nazývala knižnica štandardných šablón. Potom boli časti knižnice STL štandardizované v štandardnej knižnici C++, ktorá sa používa v súčasnosti. Patria sem runtime knižnica ISO C++ a niekoľko fragmentov z knižnice Boost vrátane niektorých ďalších dôležitých funkcií. STL príležitostne označuje kontajnery alebo častejšie algoritmy štandardnej knižnice C++. Teraz táto STL alebo štandardná knižnica šablón hovorí úplne o známej štandardnej knižnici C++.

Priestor názvov std a hlavičkové súbory:

Všetky deklarácie funkcií alebo premenných sa robia v rámci štandardnej knižnice pomocou hlavičkových súborov, ktoré sú medzi nimi rovnomerne rozdelené. Deklarácia sa neuskutoční, pokiaľ nezahrniete hlavičkové súbory.

Predpokladajme, že niekto používa zoznamy a reťazce, potrebuje pridať nasledujúce hlavičkové súbory:

#include

#include

Tieto hranaté zátvorky „<>“ znamenajú, že je potrebné vyhľadať tento konkrétny hlavičkový súbor v adresári, ktorý je definovaný a zahrnutý. Do tejto knižnice je možné pridať aj príponu „.h“, čo sa robí v prípade potreby alebo želania. Ak vylúčime knižnicu „.h“, potrebujeme pridať „c“ tesne pred začiatkom názvu súboru, len ako označenie, že tento hlavičkový súbor patrí do knižnice C. Môžete napríklad napísať (#include alebo #include ).

Keď už hovoríme o mennom priestore, celá štandardná knižnica C++ leží v tomto mennom priestore označenom ako std. To je dôvod, prečo štandardizované názvy knižníc musia byť kompetentne definované užívateľmi. Napríklad:

Std :: cout << 'Toto prejde !/ n” ;

C++ vektory:

Existuje mnoho spôsobov ukladania údajov alebo hodnôt v C++. Zatiaľ však hľadáme najjednoduchší a najflexibilnejší spôsob ukladania hodnôt pri písaní programov v jazyku C++. Takže vektory sú kontajnery, ktoré sú správne zoradené v sériovom vzore, ktorého veľkosť sa mení v čase vykonávania v závislosti od vloženia a odpočtu prvkov. To znamená, že programátor mohol počas vykonávania programu meniť veľkosť vektora podľa svojho želania. Podobajú sa poliam takým spôsobom, že majú tiež komunikačné úložné pozície pre ich zahrnuté prvky. Na kontrolu počtu hodnôt alebo prvkov prítomných vo vektoroch musíme použiť „ std::count' funkciu. Vektory sú zahrnuté v knižnici štandardných šablón jazyka C++, takže má určitý hlavičkový súbor, ktorý je potrebné zahrnúť ako prvý, a to:

#include

Vyhlásenie:

Vyhlásenie vektora je uvedené nižšie.

Std :: vektor < DT > NameOfVector ;

Vektor je použité kľúčové slovo, DT zobrazuje dátový typ vektora, ktorý možno nahradiť int, float, char alebo akýmkoľvek iným súvisiacim dátovým typom. Vyššie uvedené vyhlásenie možno prepísať takto:

Vektor < plavák > Percento ;

Veľkosť vektora nie je špecifikovaná, pretože veľkosť sa môže počas vykonávania zväčšiť alebo zmenšiť.

Inicializácia vektorov:

Na inicializáciu vektorov existuje v C++ viac ako jeden spôsob.

Technika číslo 1:

Vektor < int > v1 = { 71 , 98 , 3. 4 , 65 } ;

Vektor < int > v2 = { 71 , 98 , 3. 4 , 65 } ;

V tomto postupe priamo priraďujeme hodnoty pre oba vektory. Hodnoty priradené obom sú presne podobné.

Technika číslo 2:

Vektor < int > v3 ( 3 , pätnásť ) ;

V tomto inicializačnom procese 3 určuje veľkosť vektora a 15 je údaj alebo hodnota, ktorá bola v ňom uložená. Vytvorí sa vektor dátového typu „int“ s danou veľkosťou 3 s hodnotou 15, čo znamená, že vektor „v3“ ukladá nasledovné:

Vektor < int > v3 = { pätnásť , pätnásť , pätnásť } ;

Hlavné operácie:

Hlavné operácie, ktoré sa chystáme implementovať na vektoroch v triede vector, sú:

  • Pridanie hodnoty
  • Prístup k hodnote
  • Zmena hodnoty
  • Odstránenie hodnoty

Pridanie a vymazanie:

Pridávanie a odstraňovanie prvkov vo vnútri vektora sa robí systematicky. Vo väčšine prípadov sa prvky vkladajú pri dokončovaní vektorových kontajnerov, ale môžete tiež pridať hodnoty na požadované miesto, čo nakoniec posunie ostatné prvky na ich nové miesta. Zatiaľ čo pri vymazaní, keď sú hodnoty vymazané z poslednej pozície, automaticky sa zmenší veľkosť kontajnera. Keď sa však hodnoty v kontajneri náhodne vymažú z konkrétneho miesta, nové miesta sa automaticky priradia k ostatným hodnotám.

Použité funkcie:

Ak chcete zmeniť alebo zmeniť hodnoty uložené vo vektore, existujú niektoré preddefinované funkcie známe ako modifikátory. Sú nasledovné:

  • Insert(): Používa sa na pridanie hodnoty do vektorového kontajnera na konkrétnom mieste.
  • Erase(): Používa sa na odstránenie alebo vymazanie hodnoty vo vektorovom kontajneri na konkrétnom mieste.
  • Swap(): Používa sa na výmenu hodnôt vo vektorovom kontajneri, ktorý patrí k rovnakému typu údajov.
  • Assign(): Používa sa na priradenie novej hodnoty k predtým uloženej hodnote vo vektorovom kontajneri.
  • Begin(): Používa sa na vrátenie iterátora vo vnútri cyklu, ktorý adresuje prvú hodnotu vektora v prvom prvku.
  • Clear(): Používa sa na vymazanie všetkých hodnôt uložených vo vektorovom kontajneri.
  • Push_back(): Používa sa na pridanie hodnoty pri dokončovaní vektorového kontajnera.
  • Pop_back(): Používa sa na vymazanie hodnoty pri dokončovaní vektorového kontajnera.

Príklad:

V tomto príklade sú modifikátory použité pozdĺž vektorov.

Najprv zahrnieme hlavičkové súbory a . Potom sa integruje menný priestor std, aby sa triedy pridali všetky naraz. Na napísanie logiky celého programu voláme funkciu main(), kde sa inicializuje vektor s názvom „číslice“. Priradenie tohto vektora sa vykoná v ďalšom kroku, kde „číslice“ priradili hodnotu 6 a 24, čo znamená, že vo vnútri vektorového kontajnera je uložených 6 prvkov, každý s hodnotou 24. Tieto hodnoty sa potom zobrazia pomocou funkcie „cout“. ' príkaz. Slučka „for“ sa používa pre funkciu modifikátora push_back() na pridávanie prvkov do kontajnera. Teraz sa k číslicam na konci pridajú 3 hodnoty. Inicializujeme premennú „x“ na uchovávanie záznamu o veľkosti vektorového kontajnera. Teraz sa zobrazí hodnota posledného prvku a pop_back() funkcia vymaže číslo „3“ uložené v kontajneri. Na zobrazenie všetkých prvkov opäť používame slučku „for“ s vložiť() modifikátor, ktorý vloží hodnoty. Tu sa 4 vloží na začiatok vektorového kontajnera a zobrazí sa na obrazovke. The jasný() modifikátor potom vymaže alebo odstráni všetky hodnoty uložené v kontajneri. Po dokončení čistenia sa potom zobrazí veľkosť vektora.

Výstup je zobrazený nižšie.

Výstup súborov C++:

Súbor je súborom vzájomne súvisiacich údajov. V C++ je súbor sekvenciou bajtov, ktoré sú zhromaždené v chronologickom poradí. Väčšina súborov sa nachádza na disku. Súbory však obsahujú aj hardvérové ​​zariadenia, ako sú magnetické pásky, tlačiarne a komunikačné linky.

Vstup a výstup v súboroch sú charakterizované tromi hlavnými triedami:

  • Trieda „istream“ sa používa na prijímanie vstupov.
  • Trieda „ostream“ sa používa na zobrazenie výstupu.
  • Pre vstup a výstup použite triedu „iostream“.

Súbory sú v C++ spracovávané ako prúdy. Keď preberáme vstup a výstup v súbore alebo zo súboru, používajú sa tieto triedy:

  • Offstream: Je to prúdová trieda, ktorá sa používa na zápis do súboru.
  • Ifstream: Je to trieda prúdu, ktorá sa používa na čítanie obsahu zo súboru.
  • Prúd: Je to prúdová trieda, ktorá sa používa na čítanie aj zápis do súboru alebo zo súboru.

Triedy „istream“ a „ostream“ sú predkami všetkých tried, ktoré sú uvedené vyššie. Prúdy súborov sa používajú rovnako jednoducho ako príkazy „cin“ a „cout“, len s tým rozdielom, že tieto prúdy súborov sú priradené k iným súborom. Pozrime sa na príklad, ktorý si stručne preštudujeme o triede „fstream“:

Príklad:

V tomto prípade zapisujeme údaje do súboru.

V prvom kroku integrujeme vstupný a výstupný tok. Potom sa pridá hlavičkový súbor , pretože budeme zapisovať a čítať údaje zo súboru. Potom sa triedy volajú pomocou menného priestoru. The hlavné() funkcia sa volá pre telo programu, kde sa používa „ofstream“, ktorý zapisuje údaje do súboru, súbor sa vytvorí ako New_File. V ďalšom kroku otvárame textový súbor s názvom „príklad“ pomocou súboru OTVORENÉ( ) metóda. Do súboru zapisujeme text pomocou hranatých zátvoriek. Každý súbor je určený na zatvorenie, keď sa s ním bude zaobchádzať. To je dôvod, prečo je súbor uzavretý pomocou Zavrieť() funkciu.

Súbor „príklad“ sa otvorí z osobného počítača a text napísaný v súbore sa vytlačí do tohto textového súboru, ako je uvedené vyššie.

Otvorenie súboru:

Keď je súbor otvorený, je reprezentovaný prúdom. Pre súbor sa vytvorí objekt, ako napríklad New_File bol vytvorený v predchádzajúcom príklade. Všetky vstupné a výstupné operácie, ktoré boli vykonané na streame, sa automaticky aplikujú na samotný súbor. Na otvorenie súboru sa funkcia open() používa ako:

OTVORENÉ ( NameOfFile , režim ) ;

Tu je režim nepovinný.

Zatvorenie súboru:

Po dokončení všetkých vstupných a výstupných operácií musíme zatvoriť súbor, ktorý bol otvorený na úpravy. Sme povinní zamestnať a Zavrieť() funkciu v tejto situácii.

Nový_súbor. Zavrieť ( ) ;

Keď to urobíte, súbor sa stane nedostupným. Ak je za akýchkoľvek okolností objekt zničený, aj keď je prepojený so súborom, deštruktor spontánne zavolá funkciu close().

Textové súbory:

Na ukladanie textu sa používajú textové súbory. Preto, ak je text buď zadaný alebo zobrazený, bude mať nejaké úpravy formátovania. Operácia zápisu vo vnútri textového súboru je rovnaká ako pri vykonávaní príkazu „cout“.

Príklad:

V tomto scenári zapisujeme údaje do textového súboru, ktorý už bol vytvorený v predchádzajúcej ilustrácii.

Tu zapisujeme údaje do súboru s názvom „príklad“ pomocou funkcie New_File(). Súbor „príklad“ otvoríme pomocou OTVORENÉ() metóda. „ofstream“ sa používa na pridanie údajov do súboru. Po vykonaní všetkej práce v súbore sa požadovaný súbor uzavrie pomocou Zavrieť() funkciu. Ak sa súbor neotvorí, zobrazí sa chybové hlásenie „Súbor nie je podporovaný, chyba pri načítavaní súboru“.

Súbor sa otvorí a text sa zobrazí na konzole.

Čítanie textového súboru:

Čítanie súboru je znázornené pomocou nasledujúceho príkladu.

Príklad:

„ifstream“ sa používa na čítanie údajov uložených v súbore.

Príklad obsahuje hlavné hlavičkové súbory na začiatku. Potom použite „ifstream“ vo vnútri hlavné() funkciu. Pomocou „ifstream“ načítame údaje so súborom „New_File“ zobrazujúcim text uložený vo „vzorovom“ textovom súbore. Zamestnávame OTVORENÉ() spôsob otvorenia súboru. Ďalej použijeme cyklus „while“. Po prečítaní údajov z textového súboru „vzor“ Zavrieť() funkcia sa používa na zatvorenie požadovaného súboru. Ak systém nemá konkrétny súbor, zobrazí sa správa „Nedá sa otvoriť súbor“.

Všetky informácie uložené v textovom súbore sa zobrazia na obrazovke, ako je znázornené.

Záver

Vo vyššie uvedenej príručke sme sa podrobne oboznámili s jazykom C++. Spolu s príkladmi je každá téma predvedená a vysvetlená a každá akcia je rozpracovaná.