Ohjelmointi

C++ opetusohjelma aloittelijoille

30. lokakuuta 2021

Sisällysluettelo

Mikä on C++?

C++ on monialustainen kieli, jota käytetään tehokkaiden sovellusten luomiseen. Bjarne Stroustrup kehitti sen C-kielen laajennuksena. C++ antaa ohjelmoijille mahdollisuuden hallita järjestelmän resursseja ja muistia. Kieli päivitettiin kolme merkittävää kertaa vuosina 2011, 2014 ja 2017 muotoihin C++11, C++14 ja C++17.

Miksi käyttää C++:aa

  • C++ on yksi suosituimmista ohjelmointikielistä.
  • C++ löytyy käyttöjärjestelmistä, GUI:ista ja sulautetuista järjestelmistä.
  • Se on olio-ohjelmointikieli, joka antaa ohjelmille selkeän rakenteen ja mahdollistaa koodin uudelleenkäytön, mikä alentaa kehityskustannuksia.
  • Se on kannettava ja sitä voidaan käyttää sovellusten kehittämiseen, jotka voidaan mukauttaa useille alustoille.
  • Koska C++ on lähellä C#:a ja Java , sen avulla ohjelmoijien on helppo vaihtaa C++:aan tai päinvastoin.

ominaisuudet

    Yksinkertainen: C++ on yksinkertainen kieli, koska se tarjoaa jäsennellyn lähestymistavan rikkaaseen joukkoon toimintoja, tietotyyppejä jne.Kannettava: Toisin kuin kokoonpanokielessä, c-ohjelmia suoritetaan monissa koneissa vain vähän tai ei ollenkaan. Mutta se ei ole alustasta riippumaton.Keskitason ohjelmointikieli: C++:aa käytetään matalan tason ohjelmointiin. Sitä käytetään sovellusten, kuten ytimen, ohjaimen jne. kehittämiseen. Se tukee myös korkean tason kielen ominaisuutta.Strukturoitu ohjelmointikieli: C++ on jäsennelty ohjelmointikieli, koska voit jakaa ohjelman osiin funktioiden avulla.Rikas kirjasto: C++ tarjoaa sisäänrakennettuja toimintoja, jotka tekevät kehityksestä nopeaa.Muistin hallinta: Se tarjoaa sinulle dynaamisen muistin varauksen ominaisuuden. Voit vapauttaa varatun muistin kutsumalla free()-funktiota.Nopeus: C++-kielen käännös- ja suoritusaika on nopea.Osoitin: C++ tarjoaa osoittimien ominaisuuden. Voit olla suoraan vuorovaikutuksessa muistin kanssa käyttämällä osoittimia.Rekursio: C++:ssa voit kutsua funktiota funktion sisällä. Se tarjoaa koodin uudelleenkäytettävyyden jokaiselle toiminnolle.Laajennettavissa: C++-kieli on laajennettavissa, koska se voi nopeasti ottaa käyttöön uusia ominaisuuksia.Olio-suuntautunut: C++ on olio-ohjelmointikieli. OOPs helpottaa ylläpitoa ja kehitystä, kun taas prosessisuuntautuneessa ohjelmointikielessä se ei ole helppoa hallita, jos koodi kasvaa projektin myötä koko kasvaa.Kääntäjäpohjainen: Se on kääntäjäpohjainen ohjelmointikieli. Ensin sinun on käännettävä ohjelma kääntäjällä ja sitten voit ajaa ohjelman.

Paikallisen ympäristön asetukset

Olisi hyvä, jos tietokoneessasi olisi seuraavat ohjelmistot.

    C++-kääntäjä

Se on todellinen C++-kääntäjä, jota käytetään kääntämään lähdekoodisi lopulliseksi suoritettavaksi ohjelmaksi. Useimmat C++-kääntäjät eivät välitä siitä, minkä laajennuksen annat lähdekoodillesi. Yleisimmin käytetty kääntäjä on GNU C/C++ -kääntäjä.

    Tekstieditori

Ohjelmisto käyttää sitä kirjoittamiseen. Esimerkkejä ovat Windows Notepad, OS Edit, Short, Epsilon, EMACS ja Vim- tai VI-komennot. Editorilla luomiasi tiedostoja kutsutaan lähdetiedostoiksi ja C++-tiedostoiksi .cpp, .cp tai .c. Jotta voit aloittaa C++-ohjelmoinnin, tekstieditorin on oltava paikallaan.

    Perussyntaksi

Tarkastellaan nyt, mitä luokka, objekti, menetelmät ja ilmentymämuuttujat tarkoittavat.

    Esine− Objekteilla on tiloja ja käyttäytymismalleja. Esimerkki: Kissalla on olosuhteet – väri, nimi, rotu ja toiminta – heiluttaa, miauku, syö. Objekti on luokan esiintymä.Luokka− Luokka määritellään suunnitelmaksi, joka kuvaa käyttäytymistä/tiloja, joita sen tyyppinen objekti tukee.menetelmät− Menetelmä on käyttäytymistä. Luokka voi sisältää monia menetelmiä. Menetelmissä, joissa logiikka kirjoitetaan, tietoja käsitellään ja toiminnot suoritetaan.Instanssimuuttujat− Jokaisessa objektissa on ainutlaatuinen kokoelma ilmentymämuuttujia. Entiteetin ehto luodaan näille esimerkkimuuttujille annetuilla arvoilla.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Katsotaanpa edellä mainittuja ohjelman eri osia −

  • Se vaatii otsikon.
  • Käytä nimiavaruutta std; varoittaa kääntäjää käyttämään nimiavaruutta std.
  • Rivi int main() on pääominaisuus, josta ohjelman suoritus alkaa.
  • Seuraava rivi päättyy<< Hello World; the word Hello World is reflected on the keyboard.
  • Seuraava rivi palauttaa 0; main()-funktio päättyy.

C++ Basic Input/Output

C++ I/O -toiminta käyttää virtauskonseptia. Virta on tavujen tai tietovirran sarja. Se tekee suorituksesta nopeaa.

Jos tavuja virtaa päämuistista laitteeseen, kuten tulostimeen, näyttöön tai verkkoyhteyteen jne., tätä kutsutaan nimellä lähtötoiminta.

Jos tavuja virtaa laitteesta, kuten tulostimesta, näytöstä, verkkoyhteydestä jne., päämuistiin, tätä kutsutaan ns. syöttötoiminto.

Vakiolähtövirta (cout)

The kustannus on ennalta määritetty objekti ostream luokkaa. Se on kytketty tulostuslaitteeseen, joka on yleensä näyttö. Coutia käytetään yhdistämään virran lisäysoperaattoriin tulosteen näyttämiseksi konsolissa

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Vakiosyöttövirta (cin)

The gin on ennalta määritetty objekti. Se on kytketty syöttölaitteeseen, joka on yleensä näppäimistö. cin:iä käytetään liittämään virranpoistooperaattoriin (>>) konsolin syötteen lukemiseksi.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Normaali loppurivi (endl)

The endl on luokan ennalta määritetty objekti. Sitä käytetään uusien rivimerkkien lisäämiseen ja virtauksen tyhjentämiseen.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++-muuttujat

Muuttuja on muistipaikan nimi. Sitä käytetään tietojen tallentamiseen. Arvoa voidaan muuttaa, ja sitä käytetään useita kertoja. Se on tapa esittää muistipaikka helposti tunnistettavan symbolin avulla. Muuttuja voi sisältää aakkoset, alaviivat ja numerot. Muuttujan nimi voi alkaa aakkosella ja vain alaviivalla. Se ei voi alkaa numerolla.

Muuttujan nimessä ei saa olla välilyöntejä.

Muuttujan nimi ei saa olla varattu sana tai avainsana, esim. char, float jne.

Kelvolliset muuttujien nimet:

  • int a;
  • int _ab;
  • int a30;

Virheelliset muuttujien nimet:

  • int 4;
  • intxy;
  • int kaksinkertainen;

C++-tunnisteet

C++-tunnistetta käytetään muuttujan, funktion, luokan, moduulin tai minkä tahansa muun käyttäjän määrittämän kohteen tunnistamiseen. Se alkaa kirjaimilla A–Z tai a–z tai alaviivalla (_), jota seuraa nolla tai useampi kirjain ja 0–9. C++ ei salli välimerkkejä, kuten @, $ ja %, tunnisteiden sisällä. Se on isot ja pienet kirjaimet huomioiva ohjelmointikieli. Siten Työvoima ja työvoima ovat kaksi eri tunnistetta C++:ssa.

C++ tietotyypit

TyyppiAvainsanat
Merkkihiiltyä
Booleanbool
Liukulukukellua
Kaksoisliukulukukaksinkertainen
Kokonaislukuint
Arvotonmitätön
Leveä luonnewchar_t
Tyyppi Tyypillinen bittileveys Tyypillinen alue
hiiltyä1 tavu-127 - 127 tai 0 - 255
allekirjoittamaton merkki1 tavu0-255
allekirjoitettu char1 tavu-127-127
wchar_t2 tai 4 tavua1 leveä merkki
int4 tavua-2147483648 - 2147483647
allekirjoittamaton int4 tavua0 numeroon 4294967295
allekirjoitettu int4 tavua-2147483648 - 2147483647
lyhyt int2 tavua-32768 - 32767
kellua4 tavua
allekirjoittamaton lyhyt väliv2 tavua0 - 65 535
allekirjoitettu lyhyt int2 tavua-32768 - 32767
pitkä int8 tavua-2 147 483 648 - 2 147 483 647
allekirjoitettu pitkä int8 tavuasama kuin pitkä int
allekirjoittamaton pitkä välit8 tavua0 - 4 294 967 295
pitkä pitkä int8 tavua-(2^63) - (2^63)-1
allekirjoittamaton pitkä pitkä int8 tavua0 - 18 446 744 073 709 551 615
kaksinkertainen8 tavua
pitkä tupla12 tavua

C++ Vakiot/Literaalit

Vakiot viittaavat kiinteisiin arvoihin, joita ohjelma voi muuttaa, ja niitä kutsutaan literaaleiksi.

Vakiot voivat olla mitä tahansa raakatietotyyppiä, ja ne on jaettu kokonaislukuihin, merkkeihin, liukulukuihin, merkkijonoihin ja loogisiksi arvoiksi.

Kokonaisluku Literaalit

Kokonaislukuliteraali on desimaali-, oktaali- tai heksadesimaalivakio.

Kokonaislukuliteraalilla on pääte, joka on L:n ja U:n yhdistelmä pitkälle ja etumerkittömälle, vastaavasti. Suffiksi voi olla pieni tai iso kirjain ja se voi olla missä tahansa järjestyksessä.

Esimerkiksi: 212, 215u, 0xFeeL, 078, 032UU

Liukulukukirjaimet

Liukulukuliteraalissa on kokonaislukuosa, murto-osa, desimaalipilkku ja eksponenttiosa. Voit esittää liukulukuliteraaleja joko desimaalimuodossa tai eksponentiaalisessa muodossa.

Kun edustat desimaalimuotoa, sinun on sisällytettävä desimaalipilkku, eksponentti tai molemmat. Vaikka käytät eksponentiaalista muotoa, sinulla on oltava murto-osa, kokonaislukuosa tai molemmat. Etumerkkinen eksponentti johdetaan E:llä tai e:llä.

Boolen kirjaimet

On olemassa kaksi Boolen literaalia

  • Totuuden arvo edustaa totta.
  • False-arvo, joka edustaa väärää.

Hahmon kirjaimet

Merkiliteraalit on suljettu lainausmerkeissä. Jos literaali alkaa L:llä, se on laajamerkkinen literaali ja se tulee tallentaa wchar_t-tyyppiseen muuttujaan. Muuten se on kapea merkkiliteraali ja se on tallennettu yksinkertaiseen char-tyyppiseen muuttujaan.

Pakojakso Merkitys
\ merkki
''hahmo
merkki
?? merkki
oVaroitus tai kello
Askelpalautin
fLomakesyöttö
Uusi rivi
Vaunun palautus
Vaaka-välilehti
vPysty välilehti
oooOktaaliluku yhdestä kolmeen numeroa
xhh . . .Heksadesimaaliluku, jossa on yksi tai useampi numero

C++-tallennusluokat

Automaattinen tallennusluokka

Se on oletusarvoinen tallennusluokka kaikille paikallisille muuttujille.

SYNTAKSI

|_+_|

Rekisterin tallennusluokka

Niitä käytetään määrittämään paikallisia muuttujia, jotka tallennetaan rekisteriin RAM:n sijaan. Se tarkoittaa, että muuttujan enimmäiskoko on yhtä suuri kuin rekisterin koko, eikä siihen voi soveltaa '&'-operaattoria.

SYNTAKSI

|_+_|

Staattinen tallennusluokka

Se käskee kääntäjää pitämään paikallisen muuttujan olemassa ohjelman aikana sen sijaan, että se luo ja tuhoaisi sen. Paikallisten muuttujien tekeminen staattisiksi tarjoaa heille mahdollisuuden säilyttää arvonsa funktiokutsujen välillä.

Ulkoinen tallennusluokka

Sitä käytetään antamaan viittaus globaaliin muuttujaan, joka näkyy jokaisessa ohjelmatiedostossa. Kun käytät 'extern', muuttujaa ei voi alustaa.

Muuttuva tallennusluokka

Muuttuva määrite koskee luokan objekteja. Se tarjoaa objektin jäsenen ohittamaan const-jäsenfunktion. Toisin sanoen muuttuvaa jäsentä voidaan muokata const-jäsenfunktiolla.

C++-muokkaustyypit

C++ tarjoaa char-, int- ja double-tietotyypit, jotta niitä edeltää muuntaja. Modifikaattorilla muutetaan perustyypin merkitystä niin, että se sopii tarkemmin eri tilanteiden tarpeisiin.

Tietotyyppien modifioijat on mainittu alla−

  • allekirjoitettu
  • allekirjoittamaton
  • pitkä
  • lyhyt

Merkitty, etumerkitön, pitkä ja lyhyt määritteitä sovelletaan kokonaislukukantatyyppeihin. Lisäksi allekirjoitettu ja allekirjoittamaton käytetään char, ja long käytetään double.

Allekirjoitettuja ja allekirjoittamattomia määritteitä käytetään pitkien tai lyhyiden määritteiden etuliitteinä.

Karsinnan tyypit

    konst: tyyppisiä esineitä konst ohjelma ei voi muuttaa sitä suorituksen aikana.haihtuvia: Muokkaus haihtuvia kertoo kääntäjälle, että muuttujan arvoa voidaan muuttaa tavoilla, joita ohjelma ei ole erikseen määrittänyt.rajoittaa: Osoitin, jonka hyväksyntä on rajoittaa on ainoa keino, jolla objektiin, johon se osoittaa, pääsee käsiksi. C99 lisää uudentyyppisen tarkenteen, jota kutsutaan rajoittamiseksi.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Operaattorit C++:ssa

Operaattori on symboli, joka auttaa kääntäjää suorittamaan tiettyjä matemaattisia tai loogisia manipulaatioita. C++:ssa on useita sisäänrakennettuja operaattoreita ja se tarjoaa seuraavan tyyppisiä operaattoreita −

  • Aritmeettinen operaattori
  • Looginen operaattori
  • Bitwise-operaattori
  • Tehtäväoperaattori
  • Relaatiooperaattori
  • Muu Operaattori

Aritmeettinen operaattori

Aritmeettiset operaattorit ovat vain operaattoreita, joita käytetään suorittamaan aritmeettisia operaatioita muuttujien tai kahden arvon välillä.

Operaattorit Kuvaus Syntaksi
+Lisää kaksi operandiaa+b
*Kertoo kaksi operandiaa*b
Vähentää kaksi operandiaa-b
/Jakaa ensimmäisen operandin toisellaa/b
%Palauttaa jäännöksen, kun ensimmäinen operandi jaetaan toisellaa%b
++Se lisää kokonaisluvun arvoa yhdelläa++
Se pienentää kokonaisluvun arvoa yhdellä-

Looginen operaattori

C++:n loogiset operaattorit yhdistävät muuttujien tosi- tai epätosiarvot, jotta voit selvittää niiden tuloksena olevan totuusarvon.

Operaattorit Kuvaus Syntaksi
Tai (||)Tosi, jos jompikumpi operandi on tosi(A || B) on totta.
Ja (&&)Totta, jos molemmat operandit ovat tosia(A && B) on väärä.
Ei (!)Jos ehto on tosi, Looginen EI -operaattori tekee epätosi.!(A & B) on totta.

Bittikohtainen operaattori

C++:ssa bittikohtaiset operaattorit suorittavat bittikohtaisia ​​laskutoimituksia kokonaisluvuille. Bittioperaattori: Palauttaa arvon 1, jos molemmat bitit ovat 1 muut 0. Esimerkki: a = 10 = 1010 (binääri) b = 4 = 0100 (binääri a & b = 1010 & 0100 = 0000 = 0 (desimaali) Bittikohtaisesti tai operaattori: Palauttaa 1, jos jompikumpi bitistä on 1 muu 0.

Operaattorit Kuvaus Syntaksi
>>Binäärisiirto oikealle x>>x>>
<< Binäärinen siirto vasemmallex<<
^Binääri XORx ^ y
&Binääri JAx & y
|Binääri TAIx | Y
~Binaari EI~x

Tehtäväoperaattori

Määritysoperaattorit antavat muuttujille arvoja. a = 5 on osoitusoperaattori, joka asettaa arvon 5 oikealla muuttujaan a vasemmalla.

Operaattorit Kuvaus Syntaksi
=Oikean puolen lausekkeen arvojen määrittäminen vasemman puolen operandille.a=b+c
+=Lisää oikean puolen operandi vasemman puolen operandilla ja määritä sitten vasemmalle operandille.a+=b a=a+b
-=Vähennä oikean operandi vasemman operandista ja määritä se sitten vasemmalle operandille.a-=b a=a-b
/=Jaa vasemmanpuoleinen operandi oikeanpuoleisella operandilla ja määritä sitten vasemmalle operandille.a/=b a=a/b
%=Ota moduuli käyttämällä vasenta ja oikeaa operandia ja anna tulos vasemmalle operandille.a%=b a=a%b
*=Laske eksponenttiarvo operandien avulla ja anna arvo vasemmalle operandille.a*=b a=a*b
&=Suorittaa bittikohtaisen AND-operandin ja antaa arvon vasemmalle operandille.a&=b a=a&b
|=Suorittaa bittikohtaisen TAI-operandin ja antaa arvon vasemmalle operandille.a|=b a=a|b
^=Suorittaa bittikohtaisen TAI-operandin ja antaa arvon vasemmalle operandille.a^=b a=a^b
>>=Suorita bittikohtainen siirto oikealle operandille ja anna arvo vasemmalle operandille.a>>=b a=a>>b
<<=Suorittaa bittisiirron vasemmalle operandille ja määrittää arvon vasemmalle operandille.to<<= b a= a << b

Relaatiooperaattori

Relaatiooperaattorit ovat operaattoreita, joita käytetään kahden arvon tai objektin vertaamiseen.

Operaattorit Kuvaus Syntaksi
>Suurempi kuinx > y
<Vähemmän kuinx
==Yhtä suurix == y
!=Ei tasa-arvoistax != y
>=Suurempi tai yhtä suuri kuinx >= y
<= Pienempi kuin tai yhtä suuri kuinx<= y

Muut operaattorit

Operaattori Kuvaus
Kunto? X: YJos ehto on tosi, se palauttaa X:n arvon, muuten palauttaa Y:n arvon.
,Se aiheuttaa toimintosarjan suorittamisen. Pilkun arvo on luettelon viimeisen lausekkeen arvo pilkulla erotettuna.
kokoSe palauttaa muuttujan koon. Esimerkiksi sizeof(a), jossa 'a' on kokonaisluku ja palauttaa 4.
*Se on osoitin muuttujaan. Esimerkiksi *var; osoittaa muuttujaan var.
HeittääSe muuntaa yhden tietotyypin toiseksi.
. (piste) ja -> (nuoli)Niitä käytetään viittaamaan luokkien, rakenteiden ja ammattiliittojen yksittäisiin jäseniin.
&Se palauttaa muuttujan osoitteen.

C++ silmukat

silmukalle

C++ for -silmukkaa käytetään ohjelman osan iterointiin useita kertoja. Jos iteraatioiden lukumäärä on kiinteä, on suositeltavaa käyttää silmukalle kuin while- tai do-while-silmukoita.

C++ for silmukka on sama kuin C/C#. Voimme alustaa muuttujat, tarkistaa ehdon ja lisätä/vähentää arvoa.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Nested For Loop

C++:ssa voit käyttää for-silmukkaa toisen for-silmukan sisällä. Se tunnetaan nimellä sisäkkäinen silmukka. Sisäinen silmukka suoritetaan kokonaan, kun ulompi silmukka suoritetaan kerran. Joten jos ulompi silmukka ja sisäsilmukka suoritetaan neljä kertaa, sisempi silmukka suoritetaan neljä kertaa jokaiselle ulkosilmukalle, eli yhteensä 16 kertaa.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Vaikka silmukka

C++:ssa while-silmukkaa käytetään toistamaan ohjelman osaa useita kertoja. Jos iteraatioiden lukumäärä ei ole kiinteä, on suositeltavaa käyttää while-silmukkaa silmukan sijaan.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Sisäkkäinen kun silmukka

C++:ssa voit käyttää while-silmukkaa toisen while-silmukan sisällä; se tunnetaan sisäkkäisenä while-silmukana. Sisäkkäinen while-silmukka suoritetaan, kun ulompi silmukka suoritetaan kerran.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Tee-while -silmukka

C++ do-while -silmukkaa käytetään toistamaan ohjelman osaa useita kertoja. Jos iteraatioiden lukumäärä ei ole kiinteä ja sinun on suoritettava silmukka vähintään kerran, on suositeltavaa käyttää do-while -silmukkaa.

C++ do-while -silmukka suoritetaan vähintään kerran, koska ehto tarkistetaan silmukan rungon jälkeen.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Sisäkkäinen Do-While -silmukka

C++:ssa, jos käytät do-while-silmukkaa toisen do-while-silmukan sisällä, sitä kutsutaan sisäkkäisiksi do-while-silmukaksi. Sisäkkäinen do-while -silmukka suoritetaan kokonaan jokaiselle ulommalle do-while -silmukalle.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Päätöksentekolausunnot

Tosielämässä on tilanteita, joissa sinun on tehtävä päätöksiä, ja näiden päätösten perusteella päätät, mitä sinun pitäisi tehdä seuraavaksi. Samanlaisia ​​ongelmia syntyy ohjelmoinnissa myös silloin, kun joudut tekemään päätöksiä ja näiden päätösten perusteella suoritat seuraavan koodilohkon.

Ohjelmointikielten päätöksentekolausekkeet määräävät ohjelman suoritusvirran suunnan. C++:ssa saatavilla olevat päätöksentekolausunnot ovat:

  • jos lausunto
  • jos..muut lausunnot
  • sisäkkäisiä if-lauseita
  • jos-muu-jos tikkaat
  • Hyppylauseet:
    • tauko
    • jatkaa
    • mene
    • palata

jos lausunto

jos lausunto on yksinkertainen päätöksentekolausunto. Sitä käytetään päättämään, suoritetaanko lausekelohko vai ei. Jos ehto on tosi, lausekelohko suoritetaan muuten ei.

SYNTAKSI

|_+_|

Tässä, ehdot arvioinnin jälkeen on joko tosi tai epätosi. jos lauseke hyväksyy loogiset arvot.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

jos muuten lausunto

If-lause kertoo, että jos ehto on tosi, se suorittaa lausekkeen ja jos ehto on epätosi, se ei suorita. Voit käyttää else-lausetta if-käskyn kanssa koodilohkon suorittamiseen, kun ehto on epätosi.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Sisäkkäiset if-lauseet

Sisäkkäinen if-lause C++:ssa on if-lause, joka kohdistuu toiseen if-lauseeseen. Sisäkkäiset if-lauseet tarkoittavat if-lausetta toisen if-lauseen sisällä. Kyllä, sekä C että C++ tarjoavat meille sisäkkäisiä if-lauseita if-lauseiden sisällä, eli voit sijoittaa if-lauseen toisen if-lauseen sisään.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

jos-muuten-jos tikkaat

Käyttäjä voi valita eri vaihtoehdoista. If-lauseet suoritetaan ylhäältä alas. Heti kun ehdot ohjaavat if on tosi, siihen liittyvä lauseke suoritetaan ja loput else-if-ladder päätetään. Jos ehdot eivät ole totta, suoritetaan viimeinen ja viimeinen lausunto.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Jump-lausunnot

Tauko

Tätä lausetta käytetään silmukan päättämiseen. Heti kun break-käsky kohdataan silmukan sisältä, silmukan iteraatiot pysähtyvät siihen ja ohjaus palaa välittömästi silmukan jälkeiseen ensimmäiseen käskyyn.

SYNTAKSI
Tauko;

Break-lauseita käytetään tilanteissa, joissa emme ole varmoja silmukan todellisesta iteraatioiden määrästä tai päätämme silmukan jonkin ehdon perusteella.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Jatkaa

Continue-lause on break-lauseen vastakohta; sen sijaan, että se lopettaisi silmukan, se pakottaa silmukan seuraavan iteraation.

Jatka-lause pakottaa silmukan suorittamaan seuraavan iteraation. Kun jatka-käsky suoritetaan, jatka-käskyä seuraavan silmukan sisällä oleva koodi ohitetaan ja seuraava iteraatio alkaa.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Mene

Goto-lause C++:ssa viittaa ehdottomaan hyppykäskyyn, jota käytetään hyppäämään pisteestä toiseen funktion sisällä.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Palata

C++:n palautus palauttaa suorituksen kulun funktioon. Tämä lausunto ei vaadi ehdollisia lauseita. Kun käsky on suoritettu, ohjelman kulku pysähtyy välittömästi ja palauttaa ohjauksen sieltä, mistä sitä kutsuttiin. Return-lause saattaa palauttaa tai ei välttämättä palauttaa mitään void-funktiolle, mutta paluuarvo on palautettava ei-void-funktiolle.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++ toiminnot

Funktiolla tarkoitetaan lauseryhmää, joka ottaa syötteen, käsittelee sen ja palauttaa tulosteen. Toiminnon tavoitteena on yhdistää yhä uudelleen ja uudelleen suoritettavia tehtäviä. Jos sinulla on useita syötteitä, sinun ei tarvitse kirjoittaa samaa koodia uudelleen. Voit kutsua funktiota eri tietojoukolla, joka tunnetaan parametreina.

C++-ohjelmassa on ainakin yksi funktio, main()-funktio.

Funktion määrittely

C++:n funktion määritelmä koostuu funktion otsikosta ja rungosta.

    Palautustyyppi− Se voi palauttaa arvon. Jotkut funktiot suorittavat toiminnot palauttamatta arvoa. Tässä palautustyyppi on avainsana mitätön .Toiminnon nimi− Se on funktion todellinen nimi. Toiminnon nimi ja luettelo muodostavat yhdessä funktion allekirjoituksen.Parametrit− Parametri on kuin paikkamerkki. Kun funktiota kutsutaan, välität arvon parametrille. Tämä arvo tunnetaan todellisena parametrina tai argumenttina. Parametriluettelo viittaa järjestykseen, tyyppiin ja useisiin funktion parametreihin.Toimiva runko− Runko sisältää joukon lauseita, jotka määrittelevät funktion toiminnan.

ESIMERKKI

|_+_|

Toiminnon ilmoittaminen

C++:ssa funktiot on ilmoitettava ennen kuin niitä käytetään. Voit ilmoittaa funktion antamalla sen palautusarvon, nimen ja argumenttien tyypit. Argumenttien ehdot ovat valinnaisia. Funktiomäärittely lasketaan funktion määrittelyksi.

ESIMERKKI

|_+_|

Toiminnon kutsuminen

Kun luot C++-funktiota, määrität, mitä funktion on tehtävä. Jotta voit käyttää funktiota, sinun on kutsuttava kyseinen funktio.

Kun ohjelma kutsuu funktiota, ohjelman ohjaus siirtyy kutsutulle funktiolle. Kutsuttu funktio suorittaa määritellyn tehtävän, ja kun sen return-käsky suoritetaan tai kun sen funktion päättävä sulkeva aaltosulu saavutetaan, se palauttaa ohjelman ohjauksen pääohjelmalle.

ESIMERKKI

|_+_|

Toiminnan argumentit

Jos funktio käyttää argumentteja, sen tulee ilmoittaa muuttujat, jotka hyväksyvät argumenttien arvot. Nämä muuttujat tunnetaan nimellä funktion muodolliset parametrit.

    Soita arvon mukaan: Se kopioi argumentin todellisen arvon funktion muodolliseen parametriin. Funktion sisällä parametriin tehdyt muutokset eivät vaikuta argumenttiin.Soita osoittimella: Se kopioi argumentin osoitteen muodolliseen parametriin. Tämän funktion sisällä osoitetta käytetään kutsussa käytettyyn argumenttiin. Se tarkoittaa, että parametriin tehdyt muutokset vaikuttavat argumenttiin.Soita viitteellä: Se kopioi argumentin viittauksen muodolliseen parametriin. Tämän funktion sisällä viittausta käytetään kutsussa käytettyyn argumenttiin. Tämä tarkoittaa, että parametriin tehdyt muutokset vaikuttavat argumenttiin.

C++ numerot

Yleensä, kun työskentelemme Numbersin kanssa, käytämme primitiivisiä tietotyyppejä, kuten int, short, long, float, double jne. Tietotyyppien lukumäärä, niiden mahdolliset arvot ja numeroalueet on selitetty C++-tietotyypeistä käsiteltäessä.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Matemaattiset operaattorit C++:ssa

KYLLÄ EI Toiminnot Tarkoitus
yksi kaksoissynti(kaksois);Se ottaa kulman (kaksinkertaisena) ja palauttaa sinin.
kaksi double cos (double);Se ottaa kulman (kaksoiskappaleena) ja palauttaa kosinin.
3 kaksoisrusketus (kaksoisruskea);Se ottaa kulman (kaksinkertaisena) ja palauttaa tangentin.
4 double pow(double, double);Ensimmäinen on luku, jota haluat nostaa ja toinen on teho, jota haluat nostaa t
5 kaksoislogi(kaksois);Se ottaa luvun ja palauttaa luvun luonnollisen lokin.
6 kaksoishypootti(kaksois, tupla);Jos ohitat tämän suoran kolmion kahden sivun pituuden, se palauttaa hypotenuusan pituuden.
7 double sqrt(double);Annat funktiolle luvun ja se antaa sinulle neliöjuuren.
8 int abs(int);Se palauttaa sille välitetyn kokonaisluvun itseisarvon.
9 kaksinkertainen kerros (kaksikertainen);Etsii kokonaisluvun, joka on pienempi tai yhtä suuri kuin sille välitetty argumentti.
10 double fabs (double);Se palauttaa minkä tahansa sille välitetyn desimaaliluvun absoluuttisen arvon.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++-taulukot

C++:n taulukko on kokoelma vierekkäisiin muistipaikkoihin tallennettuja kohteita, ja elementtejä voidaan käyttää satunnaisesti taulukon indeksien avulla. Niitä käytetään samanlaisten elementtien tallentamiseen, koska tietotyypin on oltava sama kaikille elementeille. Ne voivat tallentaa primitiivisiä tietotyyppejä, kuten char, int, float, double jne. C++-kielen taulukko voi tallentaa johdettuja tietotyyppejä, kuten rakenteita, osoittimia jne. Alla on taulukon viehättävä esitys. .

Array-ilmoitus

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

Tässä,

  • int – tallennettavan elementin tyyppi
  • y – taulukon nimi
  • 4 – taulukon koko

Käytä elementtejä Arrayssa

Jokainen taulukon elementti on yhdistetty numeroon. Lukua kutsutaan taulukkoindeksiksi. Voit käyttää taulukon elementtejä indeksien avulla.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

Tässä on muutamia tärkeitä käsitteitä C++-taulukoista

    Moniulotteiset taulukot: Kaksiulotteinen taulukko on moniulotteisen taulukon yksinkertaisin muoto.Osoitin taulukkoon: Luot osoittimen taulukon ensimmäiseen elementtiin mainitsemalla taulukon nimen ilman indeksiä.Matriisien välittäminen funktioille: Välität funktiolle osoittimen taulukkoon määrittämällä taulukon nimen ilman indeksiä.Palauta matriisi funktioista: C++ sallii funktion palauttaa taulukon.

C++ merkkijonot

Se on kokoelma hahmoja. C++-ohjelmointikielessä käytetään kahdenlaisia ​​merkkijonoja:

  • Merkkijonot, jotka ovat merkkijonoluokan objekteja
  • C-kielet

Jousiluokka

C++-kirjasto tarjoaa a merkkijono luokkatyyppi, joka tukee kaikkia yllä mainittuja toimintoja, lisäksi paljon enemmän toimintoja.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C-kieliä

Tämä merkkijono on peräisin C-kielestä ja sitä tuetaan C++:ssa. Tämä merkkijono on yksiulotteinen merkkijono, joka päättyy nollamerkillä . Siten nollapäätteinen merkkijono sisältää merkit, jotka sisältävät merkkijonon, jota seuraa nolla.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Harvat funktiot, jotka käsittelevät nollapääteisiä merkkijonoja

    strcpy(s1, s2);

Se kopioi merkkijonon s2 merkkijonoon s1.

    strcat(s1, s2);

Se ketjuttaa merkkijonon s2 merkkijonon s1 loppuun.

    strstr(s1, s2);

Se palauttaa osoittimen merkkijonon s2 esiintymiseen merkkijonossa s1.

    strlen(s1);

Se palauttaa merkkijonon pituuden s1.

    strcmp(s1, s2);

Se palauttaa 0, jos s1 ja s2 ovat samat; pienempi kuin 0, jos s1s2.

    strchr(s1, ch);

Se palauttaa osoittimen merkin ch esiintymiseen merkkijonossa s1.

C++ osoittimet

Osoittimet edustavat osoitteita. Niiden avulla ohjelmat voivat simuloida kutsun mukaan sekä luoda ja käsitellä dynaamisia tietorakenteita.

SYNTAKSI

|_+_|

Kuinka käyttää osoitinta?

  • Määritä ensin osoitinmuuttuja
  • Määritä nyt muuttujan osoite osoittimelle käyttämällä (&), joka palauttaa kyseisen muuttujan osoitteen.
  • Pääsy osoitteeseen tallennettuihin arvoihin käyttämällä (*):ta, joka palauttaa sen operandin määrittämässä osoitteessa sijaitsevan muuttujan arvon.

Muutamia käsitteitä osoittimista

    Nollaosoittimet: Se on vakio, jonka arvo on nolla, joka on määritelty useissa standardikirjastoissa.Osoittimen aritmetiikka: Osoittimissa voidaan käyttää neljää aritmeettista operaattoria: ++, –, +, –Osoittimet vs taulukot: Osoittimien ja taulukoiden välillä on läheinen yhteys.Joukko osoittimia: Voit määrittää taulukoita sisältämään useita osoittimia.Osoitin osoitin: C++ tarjoaa sinulle osoittimen osoittimessa ja niin edelleen.Osoittimien välittäminen funktioille: Ohitus viittauksella tai osoitteella mahdollistaa sen, että kutsuttu funktio muuttaa annettua käskyä kutsuvassa funktiossa.Palauta osoitin funktioista: C++ tarjoaa toiminnon, joka palauttaa osoittimen paikalliseen muuttujaan, staattiseen muuttujaan ja dynaamisesti varattuun muistiin.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++-viitteet

Viitemuuttuja on jo olemassa olevan muuttujan nimi. Kun viittaus on alustettu, joko muuttujan nimeä tai viitteen nimeä voidaan käyttää viittaamaan muuttujaan.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++ Päivämäärä ja aika

C++-kirjasto ei tarjoa oikeaa päivämäärätyyppiä. Se perii päivämäärän ja ajan käsittelyn rakenteet ja funktiot C:stä. Päästäksesi päivämäärään ja aikaan liittyviin funktioihin ja rakenteisiin, sinun on sisällytettävä otsikkotiedosto C++-ohjelmaasi.

Aikaan liittyviä tyyppejä on neljä: clock_t, time_t, size_t ja tm. Tyypit – clock_t, size_t ja time_t pystyvät esittämään järjestelmän kellonajan ja päivämäärän kokonaislukuina.

ESIMERKKI

|_+_|

Jotkut tärkeät toiminnot

    aika_t aika(aika_t *aika);

Se palauttaa nykyisen kalenterin ajan useissa sekunneissa, jotka ovat kuluneet 1. tammikuuta 1970. Jos järjestelmällä ei ole aikaa, palautetaan .1.

    char *ctime(const time_t *time);

Se palauttaa osoittimen lomakkeen merkkijonoon päivä kuukausi vuosi tunnit:minuutit: sekuntia.

    struct tm *paikallinen aika(const time_t *aika);

Se palauttaa osoittimen tm paikallista aikaa edustava rakenne.

    kello_t kello(tyhjä);

Se palauttaa arvon, joka vastaa likimääräisesti kutsuvan ohjelman kestoa. Arvo .1 palautetaan, jos aikaa ei ole saatavilla.

    char * asctime ( const struct tm * aika );

Se palauttaa osoittimen merkkijonoon, joka sisältää rakenteeseen tallennetut tiedot ajan osoittamalla tavalla muutettuna muotoon: päivä kuukausi päivämäärä tunnit:minuutit: sekuntit

    struct tm *gmtime(const time_t *aika);

Se palauttaa osoittimen aikaan tm-rakenteen muodossa.

    aika_t mktime(rakenne tm *aika);

Se palauttaa rakenteesta löytyneen kalenteriajan, johon aika osoittaa.

    double difftime ( aika_t aika2, aika_t aika1 );

Se laskee eron sekunneissa aika1 ja aika2 välillä.

    size_t strftime();

Sitä voidaan käyttää päivämäärän ja kellonajan muotoilemiseen tiettyyn muotoon.

C++ tietorakenteet

C++-taulukoiden avulla voit määrittää muuttujia, jotka yhdistävät useita samanlaisia ​​tietokohteita. Silti, rakenne on toinen käyttäjän määrittämä tietotyyppi, jonka avulla voit yhdistää erityyppisiä tietokohteita. Rakenteita käytetään edustamaan tietuetta.

Rakenteen määrittely

Rakenteen määrittämiseen tulee käyttää struct-lausetta. Strukt-käsky määrittää ohjelmalle tietotyypin, jossa on useampi kuin yksi jäsen.

|_+_|

The rakennetunniste on valinnainen. Määritelmän lopussa, ennen viimeistä puolipistettä, sinun tulee määrittää yksi tai useampi rakennemuuttuja.

Pääsy rakenteen jäseniin

Voit käyttää mitä tahansa rakenteen jäsentä käyttämällä jäsenpääsyoperaattori (.) . Jäsenpääsyoperaattori on koodattu jaksoksi rakennemuuttujan nimen ja rakenteen jäsenen välillä, johon haluamme päästä. käyttäisit rakenne avainsana, jolla määritetään rakennetyypin muuttujat.

Rakenteet funktion argumentteina

Voit välittää rakenteen funktion argumenttina samalla tavalla kuin minkä tahansa muun muuttujan tai osoittimen.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++-luokat ja objektit

Kaikki C++:ssa liittyy luokkiin ja objekteihin sekä niiden attribuutteihin ja menetelmiin. Esimerkiksi: tosielämässä bussi on esine . Bussissa on attribuutteja , kuten paino ja väri, ja menetelmiä , kuten veto ja jarru.

Attribuutit ja menetelmät ovat muuttujia ja toimintoja jotka kuuluvat luokkaan. Niitä kutsutaan luokan jäseniksi. Luokka on käyttäjän määrittämä tietotyyppi, jota voit käyttää ohjelmassa ja se toimii objektien rakentajana tai suunnitelmana objektien luomiseen.

Luo luokka

Jos haluat luoda luokan, sinun on käytettävä luokkaa avainsana:

ESIMERKKI

|_+_|

Luo objekti

C++:ssa objekti luodaan luokasta.

Objektin luomiseksi sinun on määritettävä luokan nimi ja sen jälkeen objektin nimi. Voit käyttää luokan attribuutteja käyttämällä objektin pistesyntaksia (.):

ESIMERKKI

|_+_|

Muutama käsite yksityiskohtaisesti

    Luokan jäsentoiminnot: Jäsenfunktio on funktio, jonka prototyyppi on luokkamääritelmässä aivan kuten minkä tahansa muun muuttujan.Luokkien pääsyn muokkaajat: Luokan jäsen voidaan määritellä yksityiseksi, julkiseksi, suojatuksi. Oletuksena se on yksityinen.Rakentaja: Konstruktori on luokassa oleva funktio, jota kutsutaan, kun uusi objekti luodaan.Hävittäjä: Destruktor on funktio, jota kutsutaan, kun luotu objekti poistetaan.Kopioinnin rakentaja:Se on konstruktori, joka luo objektin alustamalla sen saman luokan objektilla, joka on luotu aiemmin.Ystävän toiminnot: Se antaa täyden pääsyn luokan yksityisille ja suojatuille jäsenille.Sisäiset toiminnot: Kääntäjä laajentaa koodin funktion rungossa funktion kutsun sijaan.tämä osoitin: Jokaisella objektilla on erityinen osoitin Tämä joka osoittaa itse esineeseen.Luokan staattiset jäsenet: Sekä luokan datajäsenet että funktiojäsenet voidaan ilmoittaa staattisiksi.

C++-perintö

Periytys on prosessi, jossa objekti hankkii kaikki emoobjektinsa ominaisuudet ja käyttäytymiset automaattisesti. Voit muokata attribuutteja ja toimintoja, jotka on määritelty muissa luokissa.

Luokka, joka perii toisen luokan jäsenet, tunnetaan johdettuna luokkana, ja luokka, jonka jäsenet peritään, tunnetaan perusluokkana. Johdettu luokka on perusluokan erikoisluokka.

Perinnön tyypit

    Yksittäinen perintöon periytymistyyppi, jossa johdettu luokka on peritty vain yhdestä perusluokasta.

'A' on perusluokka,

'B' on johdettu luokka.

cplusplus
    Monitasoinen perintöon prosessi luokan johtamiseksi toisesta johdetusta luokasta. Luokka C perii luokan B ominaisuudet ja luokka B perii luokan B ominaisuudet. A on B:n emoluokka ja luokka B on C:n emoluokka.
img 617dd1cc84e68
    MoniperintöJohdettu luokka luodaan yhdestä tai useammasta perusluokasta. Luokka C perii luokan B ja luokan A ominaisuudet ja käyttäytymisen. Joten tässä luokka A ja luokka B ovat luokan C yläluokkia.
img 617dd1ccd67cc
  • Sisään monitieperintö, johdettu luokka luodaan toisesta johdetusta luokasta ja sama perusluokka toisessa johdetussa luokassa. Ei tue tätä perintöä. NETTO Kielet, kuten C#, F# jne.

Luokka D perii luokan C ja luokan B sekä luokan A ominaisuudet ja käyttäytymisen. Luokka C ja luokka B perii luokan A. Luokka A on luokan B sekä luokan C ja luokan D ylätaso.

img 617dd1cd9230a
    Hybridiperintöon useamman kuin yhden perinnön yhdistelmä. Näin ollen se voi olla monitasoperinnön ja monitasoperinnön ja monitasoperinnön ja monitieperinnön monitasoisen ja moniperinnön yhdistelmä.
img 617dd1cdf0c4e

C++ pääsyn muokkaajat

Pääsyn määrittäjiä käytetään toteuttamaan olio-ohjelmoinnin olennainen osa, joka tunnetaan nimellä Data Hiding. Luokan pääsymuokkauksia käytetään luokan jäsenten käyttöoikeuksien myöntämiseen. Se asettaa luokan jäsenille joitain rajoituksia, jotta ulkopuoliset toiminnot eivät pääse suoraan käsiksi.

C++:ssa on saatavilla kolmenlaisia ​​käyttöoikeusmuutoksia:

  • Julkinen
  • Yksityinen
  • Suojattu

Keskustelemme niistä yksityiskohtaisesti:

Julkinen

Kaikki julkisen määritteen alla ilmoitetut luokan jäsenet ovat kaikkien saatavilla. Julkisiksi ilmoitettuihin jäsentoimintoihin pääsevät myös muut luokat ja funktiot. Luokan julkisiin jäseniin pääsee mistä tahansa ohjelmasta käyttämällä pääsyoperaattoria (.) kyseisen luokan objektin kanssa.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Yksityinen

Luokan sisällä olevat jäsenfunktiot voivat käyttää vain yksityisiksi ilmoitettuja luokan jäseniä. Niihin ei voi päästä suoraan millään luokan ulkopuolisella objektilla tai funktiolla. Vain ystävätoiminnot saavat käyttää luokan jäsenten yksityisiä tietoja.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Suojattu

Suojattu käyttöoikeusmuunnin on sama kuin yksityinen käyttöoikeusmuunnin, koska siihen ei pääse luokkansa ulkopuolella, ellei ystäväluokan avulla eroa siinä, että suojatuiksi ilmoitettuja luokan jäseniä voi käyttää mikä tahansa johdettu luokka. myös siitä luokasta.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++ ylikuormitus

C++-ohjelmointikielen avulla voit määrittää useamman kuin yhden määritelmän a:lle toiminto nimi tai an operaattori samassa laajuudessa, ns toimintojen ylikuormitus ja operaattorin ylikuormitus , vastaavasti.

Ylikuormitettu ilmoitus ilmoitetaan samalla nimellä kuin aiemmin ilmoitettu ilmoitus samassa laajuudessa, paitsi että molemmilla ilmoituksilla on eri argumentit ja erilaiset määritelmät.

Toimintojen ylikuormitus

Funktioiden ylikuormitus on ominaisuus, joka tarjoaa sinulle useamman kuin yhden funktion, joilla on sama nimi, mutta eri parametriluettelo.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++-polymorfismi

Kuljettajan ylikuormitus

Voit saada operaattoreita toimimaan käyttäjän määrittämille luokille. Tämä tarkoittaa, että C++ voi tarjota operaattoreille erityisen merkityksen tietotyypille. Tätä kutsutaan operaattorin ylikuormitukseksi.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Se on tärkeä olio-ohjelmoinnin käsite. Se tarkoittaa useampaa kuin yhtä muotoa. Eli sama kokonaisuus käyttäytyy eri tavalla eri skenaarioissa.

Toiminnon ohitus

Sinulla voi olla sama funktio perusluokassa sekä johdetuissa luokissa. Kun kutsut funktiota käyttämällä johdetun luokan objektia, johdetun luokan funktio suoritetaan perusluokan sijaan.

Siksi erilaisia ​​toimintoja suoritetaan riippuen funktiota kutsuvasta objektista. Tätä kutsutaan toimintojen ohitukseksi

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++ Virtuaalifunktiot

C++:ssa et ehkä voi ohittaa toimintoja, jos käytämme perusluokan osoitinta osoittamaan johdetun luokan objektia.

Virtuaalifunktioiden käyttäminen perusluokassa varmistaa, että funktio voidaan ohittaa näissä tapauksissa. Siten virtuaaliset toiminnot kuuluvat toimintojen ohituksen piiriin.

Puhtaita virtuaalisia toimintoja

On mahdollista, että haluat sisällyttää virtuaalisen funktion perusluokkaan, jotta se voidaan määritellä uudelleen johdetussa luokassa sopimaan kyseisen luokan objekteille, mutta perusluokan funktiolle ei ole järkevää määritelmää. .

ESIMERKKI

|_+_|

C++-tietojen abstraktio

Tietojen abstraktio on yksi C++:n olioohjelmoinnin olennaisista ominaisuuksista. Abstraktio tarkoittaa vain asiaankuuluvien tietojen näyttämistä ja yksityiskohtien piilottamista. Datan abstraktiolla tarkoitetaan vain olennaisten tietojen tarjoamista ulkomaailman tiedoista, taustatietojen piilottamista tai toteutusta.

Abstraktio luokkien avulla

Voit toteuttaa Abstractionin C++:ssa luokkien avulla. Luokan avulla voit ryhmitellä datajäseniä ja jäsentoimintoja käytettävissä olevien käyttöoikeusmääritteiden avulla. Luokka voi päättää, mikä datajäsen näkyy ulkomaailmalle ja mikä ei.

Abstraktio käyttöoikeusmääritteiden avulla

Käyttöoikeusmäärittäjät ovat tärkeässä roolissa abstraktion toteutuksessa C++:ssa. Voit käyttää käyttöoikeusmääritteitä pakottaaksesi rajoituksia luokan jäsenille. Esimerkiksi:

  • Luokassa julkisiksi ilmoitettuja jäseniä voidaan käyttää mistä tahansa ohjelman kohdasta.
  • Luokassa yksityisiksi ilmoitettuihin jäseniin pääsee vain luokasta käsin. Niitä ei saa käyttää mistään koodin osasta luokan ulkopuolelta.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++-tietojen kapselointi

Se on prosessi, jossa funktiot ja datajäsenet yhdistetään yhdeksi yksiköksi nimeltä luokka. Tämä estää pääsyn tietoihin suoraan. Pääsy niihin tarjotaan luokan toimintojen kautta. Se on yksi olio-ohjelmoinnin suosituimmista ominaisuuksista, joka auttaa tietojen piilottamisessa.

Tämän toteuttamiseksi

  • Tee kaikista datajäsenistä yksityisiä.
  • Luo julkinen setter- ja getter-funktio jokaiselle datajäsenelle siten, että set-funktio asettaa datajäsenen arvon ja get-funktio saa datajäsenen arvon

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++ abstrakti luokat

C++-luokasta tehdään abstrakti julistamalla yksi sen toiminnoista elintärkeäksi>puhdas virtuaalifunktio. Puhdas virtuaalinen funktio mainitaan sijoittamalla sen ilmoitukseen = 0. Johdettujen luokkien tulee tarjota niiden toteutus.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++-tiedostot ja streamit

kyllä ​​ei Tietotyyppi Kuvaus
yksi virran ulkopuolella Se edustaa tulostustiedostovirtaa ja sitä käytetään tiedostojen luomiseen ja tietojen kirjoittamiseen tiedostoihin.
kaksi ifstream Se edustaa syöttötiedostovirtaa ja sitä käytetään tietojen lukemiseen tiedostoista.
3 fstream Se edustaa tiedostovirtaa yleisesti ja sillä on sekä ofstream- että ifstream-ominaisuus.

Tiedoston avaaminen

Tiedosto tulee avata ennen kuin voit lukea sitä tai kirjoittaa siihen. Joko fstream- tai ofstream-objektia voidaan käyttää tiedoston avaamiseen kirjoittamista varten. Ifstream-objektia käytetään tiedoston avaamiseen vain lukutarkoituksiin.

kyllä ​​ei Tilan lippu Kuvaus
yksi ios::ate Kaikki tulosteet tiedostoon liitetään loppuun.
kaksi ios::app Se avaa tiedoston tulostusta varten ja siirtää luku- tai kirjoitussäätimen tiedoston loppuun.
3 ios::trunc Jos tiedosto on jo olemassa, sisältö katkaistaan ​​ennen tiedoston avaamista.
4 ios::out Se avaa tiedoston kirjoittamista varten.
5 ios::in Se avaa tiedoston lukemista varten.

SYNTAKSI

|_+_|

Tiedoston sulkeminen

Kun C++-ohjelma lopetetaan, se tyhjentää automaattisesti kaikki virrat, vapauttaa kaikki varattu muisti ja sulkee kaikki avatut tiedostot.

SYNTAKSI

|_+_|

Lukeminen tiedostosta

Voit lukea tietoja tiedostosta ohjelmaan käyttämällä stream-purkuoperaattoria (>>). Ainoa ero on, että käytät fstream- tai ifstream-objektia cin-objektin sijasta.

LUE JA KIRJOITA ESIMERKKI

|_+_|

OUTPUT

|_+_|

Tiedoston sijaintiosoittimet

Sekä ostream että istream tarjoavat jäsentoimintoja tiedoston sijaintiosoittimen sijoittamiseen uudelleen. Nämä jäsenfunktiot ovat seekp ostreamille ja seekg istreamille. Argumentti seekp:lle ja seekg:lle on pitkä kokonaisluku. Toinen argumentti voidaan mainita osoittamaan etsintäsuuntaa.

C++ poikkeusten käsittely

Poikkeuskäsittely C++:ssa on prosessi ajonaikaisten virheiden käsittelemiseksi. Suoritat poikkeuskäsittelyn, jotta sovelluksen normaali kulku voidaan säilyttää myös ajonaikaisten virheiden jälkeen.

C++:ssa poikkeus on tapahtuma tai objekti, joka heitetään suorituksen aikana. Kaikki poikkeukset ovat peräisin std::exception-luokasta. Jos emme käsittele poikkeusta, se tulostaa poikkeusviestin ja lopettaa ohjelman.

Poikkeukset Kuvaukset
std::bad_exception Sitä käytetään odottamattomien poikkeusten käsittelyyn.
std::logic_failure Se voidaan havaita lukemalla koodi.
std::bad_typeid Se heitetään yleensä tyyppitunnuksella.
std::runtime_error Sitä ei voi havaita lukemalla koodia.
std::poikkeus Se on poikkeus ja yläluokka kaikista tavallisista C++-poikkeuksista.
std::bad_cast Sen heittää yleensä dynamic_cast.
std::bad_alloc Se on yleensä heitetty uusiin.

C++-poikkeuksien käsittely perustuu kolmeen avainsanaan: yritä saada kiinni, ja heittää .

    yrittää− try block tunnistaa koodilohkon, jolle tietty poikkeus aktivoidaan. Yksi tai useampi kiinnityslohko seuraa sitä.saada kiinni− Ohjelma saa kiinni poikkeuksen poikkeuskäsittelijän kautta. Catch-avainsana näyttää poikkeuksen pyydystämisen.heittää− Ohjelma tekee poikkeuksen, kun ongelma ilmenee. Tämä tehdään heitto-avainsanalla.

ESIMERKKI

|_+_|

C++ dynaaminen muisti

Muisti on jaettu kahteen osaan −

    Pino− Kaikki funktion sisällä ilmoitetut muuttujat ottavat muistin pinosta.Kasa− Tämä on ohjelman käyttämätön muisti, ja sitä käytetään muistin varaamiseen dynaamisesti ohjelman ajon aikana.

Ohjelmoijat voivat jakaa tallennustilaa dynaamisesti ohjelman ollessa käynnissä. Ohjelmoijat eivät kuitenkaan voi luoda uusia muuttujien nimiä, ja tästä syystä dynaaminen kohdistaminen vaatii kaksi kriteeriä:

  • Dynaamisen tilan luominen muistiin
  • Osoitteen tallentaminen osoittimeen

Muistin purkaminen on myös osa tätä konseptia, jossa tilaa siivotaan muulle datatallennukselle. Dynaamisen muistin varauksen purkamiseen voit käyttää poisto-operaattoria. Joten dynaaminen muistin varaus tarkoittaa muistinhallinnan suorittamista dynaamista muistin varausta varten manuaalisesti.

uusi ja poista operaattorit

Tässä tietotyyppi voi olla mikä tahansa sisäänrakennettu tietotyyppi, joka sisältää taulukon, tai käyttäjän määrittämillä tietotyypeillä on luokka tai rakenne. Aloitetaan sisäänrakennetuista tietotyypeistä

SYNTAKSI

|_+_|

Kun tunnet muuttujan, jota ei ole allokoitu dynaamisesti ja jota ei enää tarvita, voit vapauttaa vapaan myymälän muistia 'poistaa' operaattori.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

Dynaaminen taulukoiden muistin varaus

Jos olet ohjelmoija; haluat varata muistia merkkijoukolle saman syntaksin avulla, jonka voit tehdä.

ESIMERKKI

|_+_|

Nimiavaruudet tarjoavat sinulle mahdollisuuden ryhmitellä nimetyt entiteetit, joilla on maailmanlaajuisesti kapeampiin ulottuvuuksiin ja antaa niitä nimitilan laajuus . Tämä mahdollistaa myös ohjelmien elementtien järjestämisen erilaisiin loogisiin ulottuvuuksiin, joihin viitataan nimillä. Nimiavaruus on ominaisuus, joka on C++:ssa, mutta ei C:ssä. Useat samannimiset nimiavaruuslohkot ovat sallittuja. Kaikki lohkoissa olevat ilmoitukset ilmoitetaan nimetyssä laajuudessa.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Epäjatkuvat nimiavaruudet

Nimiavaruus on määritelty useissa osissa ja nimiavaruus muodostuu sen määritettyjen osien summasta. Nimiavaruuden erilliset osat jakautuvat useisiin tiedostoihin.

SYNTAKSI

|_+_|

Sisäkkäiset nimitilat

Täällä voit määrittää yhden nimiavaruuden toisen nimiavaruuden sisällä

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

C++-malleja

Malli on C++:n ominaisuus, jonka avulla voit kirjoittaa yleisiä ohjelmia. Toisin sanoen voit luoda yksittäisen funktion tai luokan työskentelemään eri tietotyyppien kanssa mallien avulla. Malleja käytetään laajemmassa koodikannassa koodin joustavuuden ja ohjelmien uudelleenkäytettävyyden takaamiseksi.

Näitä käsitteitä käytetään kahdella tavalla:

  • Toimintomallit
  • Luokkamallit

Toimintomallit

Toimintomalli toimii aivan kuten normaali funktio, yhdellä keskeisellä erolla.

Yksittäinen funktiomalli voi toimia eri tietotyyppien kanssa, mutta yksi normaali funktio voi toimia yhden tietotyypin kanssa.

Yleensä, jos haluat suorittaa identtisiä operaatioita useille datatyypeille, voit käyttää funktioiden ylikuormitusta funktioiden luomiseen funktion määrittelyn avulla.

Parempi lähestymistapa olisi kuitenkin käyttää funktiomalleja, koska voit suorittaa saman tehtävän kirjoittamalla vähemmän ja ylläpidettävää koodia.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Luokkamallit

Funktiomallien tapaan voit luoda luokkamalleja luokkaoperaatioita varten. Yleensä sinun on luotava eri luokka kullekin tietotyypille TAI luotava muita jäsenmuuttujia ja toimintoja samaan luokkaan.

Tämä turvottaa tarpeettomasti koodikantaasi ja sitä on vaikea ylläpitää, koska yhden luokan/funktion muutos on suoritettava kaikille luokille/funktioille. Vaikka luokkamallien avulla on helppoa käyttää samaa koodia kaikille tietotyypeille.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

C++ esiprosessorit

Esikäsittelijän käskyt ovat ohjelmien koodiin sisältyviä rivejä, joita edeltää hash-merkki (#). Nämä rivit eivät ole ohjelmoituja käskyjä, vaan esiprosessorin direktiivejä. Esiprosessori tutkii koodin ennen koodin kääntämisen alkamista ja ratkaisee kaikki käskyt ennen kuin tavalliset käskyt luovat koodia.

Esiprosessorin käskyt ulottuvat yhden koodirivin yli. Heti kun rivinvaihtomerkki löytyy, esikäsittelijäohje päättyy.

Esikäsittelyohjeita on neljä päätyyppiä:

  • makro
  • Tiedoston sisällyttäminen
  • Ehdollinen kokoelma
  • Muut direktiivit

makro

Makrot ovat koodinpätkä, jolle on annettu jokin nimi. Aina kun kääntäjä kohtaa tämän nimen, se korvaa nimen todellisella koodinpalalla. #define-käskyä käytetään makron määrittämiseen.

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Ennalta määritetyt C++-makrot

    __LINJA__

Se sisältää ohjelman rivinumeron ohjelmaa käännettäessä.

    __TIEDOSTO__

Se sisältää ohjelman nykyisen tiedostonimen sitä käännettäessä.

    __PÄIVÄMÄÄRÄ__

Se sisältää merkkijonon, joka on päivämäärä, jolloin lähdetiedosto käännettiin objektikoodiksi.

    __AIKA__

Se sisältää merkkijonon tunti:minuutti: sekunti, joka on aika, jolloin ohjelma käännettiin.

Tiedoston sisällyttäminen

Tämä esiprosessorin ohje käskee kääntäjää sisällyttämään tiedoston ohjelmaan. On olemassa kahdenlaisia ​​tiedostoja, jotka käyttäjä säilyttää ohjelmassa:

    Otsikkotiedosto tai vakiotiedostot: Nämä tiedostot sisältävät määritellyt ennalta määritettyjä funktioita, kuten printf(), scanf() jne. Nämä tiedostot tulee sisällyttää näiden funktioiden käyttöä varten. Eri toiminto on ilmoitettu erillisissä otsikkotiedostoissa.Käyttäjän määrittämät tiedostot: Kun ohjelmasta tulee valtava, on hyvä käytäntö jakaa se pienempiin tiedostoihin ja sisällyttää se tarvittaessa. Tämäntyyppiset tiedostot ovat käyttäjän määrittämiä tiedostoja.

Ehdollinen kokoelma

Se auttaa kääntämään tietyn osan ohjelmasta tai ohittamaan ohjelman tietyn osan kääntämisen joidenkin ehtojen perusteella.

SYNTAKSI

|_+_|

Muut direktiivit

Edellä mainittujen direktiivien lisäksi tässä on kaksi muuta direktiiviä, joita ei käytetä yleisesti. Nämä ovat:

    #undef direktiivi: #undef-direktiiviä käytetään olemassa olevan makron määrittelyn poistamiseen.#pragmadirektiivi: Se on erityiskäyttöinen direktiivi, ja sitä käytetään joidenkin ominaisuuksien kytkemiseen päälle tai pois päältä.

C++ signaalinkäsittely

Signaalit ovat keskeytyksiä, joita käyttöjärjestelmä tarjoaa prosessille, joka lopettaa ohjelman ennenaikaisesti. Painamalla Ctrl+C UNIXissa, LINUX , Mac OS X tai Windows-kone, voit luoda keskeytyksiä.

On signaaleja, joita ohjelmisto ei pysty havaitsemaan, mutta on luettelo signaaleista, jotka voit havaita ohjelmassasi ja suorittaa hyväksyttäviä signaaliin perustuvia toimia. C++-otsikkotiedosto kuvaa nämä signaalit.

kyllä ​​ei Signaali Kuvaus
yksi SIGFPE Virheellinen aritmeettinen operaatio, kuten nollakatko tai ylivuotooperaatio.
kaksi SIGABRT Epänormaali ohjelman lopetus, kuten keskeytyskutsu.
3 SIGINT Interaktiivisen tarkennuksen signaalin vastaanotto
4 TIIVISTE Laittoman ohjeen löytyminen.
5 SIGTERM Lähetti ohjelmalle lopetuspyynnön.
6 SIGSEGV Virheellinen levykäyttö.

Signaali()-funktio

C++-signaalinkäsittelykirjasto sisältää signaaliominaisuuden ennakoimattomien tapahtumien ansaan.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Korosta()-funktio

Raise()-funktiolla, joka ottaa argumentiksi kokonaislukusignaalin numeron, voit tuottaa signaaleja.

SYNTAKSI

|_+_|

ESIMERKKI

|_+_|

OUTPUT

|_+_|

Monisäikeistys on erikoistunut moniajo-toiminto, ja toiminto, jonka avulla koneesi voi ajaa kahta tai useampaa ohjelmaa samanaikaisesti, on moniajotoiminto. Yleisesti ottaen on olemassa kahdenlaista moniajoa: prosessipohjainen ja säiepohjainen. Ohjelmien rinnakkaissuoritus hoidetaan prosessipohjaisella multitaskingilla. Säikeisiin perustuva moniajo käsittelee saman ohjelman osien rinnakkaista suorittamista. Monisäikeisessä ohjelmassa on kaksi tai kolme osaa, jotka toimivat samanaikaisesti.

SYNTAKSI

|_+_|
KYLLÄ EI Parametri Kuvaus
yksi vihainen Yksi lausunto, joka voidaan välittää rutiini-alkuun. Se on siirrettävä osoitinvaluna, joka on tyypiltään tyhjä. NULL-arvoa voidaan käyttää, kun siirrettävää argumenttia ei ole.
kaksi lanka Läpinäkyvä, erityinen tunniste nykyiselle säikeelle, jonka aliohjelma palauttaa.
3 attr Näkymätön objektiattribuutti, jota voidaan käyttää säiettämääritteiden asettamiseen. Voit määrittää objektin säikeen ominaisuuksilla tai NULL:n oletusarvoilla.
4 aloitus_rutiini Kun C++-rutiini on perustettu, säie suoritetaan.

Säikeet päättyvät

Käytämme seuraavaa rutiinia POSIX-säikeen päättämiseen:

|_+_|

Tässä pthread exit -näppäintä käytetään säikeestä suoraan poistumiseen. Yleensä, kun säie on lopettanut tehtävänsä eikä sitä enää tarvita, pthread exit() -rutiini nimetään.

Jos main() päättyy ja poistuu pthreadilla exit() ennen sen tuottamia säikeitä, muut säikeet voivat alkaa toimia. Muussa tapauksessa main()-päätteenä ne lopetetaan välittömästi

Lankojen sisääntulo ja irtoaminen

Noudatetaan kahta rutiinia, joita voimme käyttää säikeiden syöttämiseen tai poistamiseen.

|_+_|

Aliohjelma pthread join() estää kutsuvan säikeen, kunnes 'threadid' -säie päättyy. Yksi sen ominaisuuksista määrittää, onko se liitettävissä vai irrotettavissa lankaa muodostettaessa. Se voidaan yhdistää vain säikeillä, jotka on luotu liitettäviksi. Sitä ei voi koskaan liittää, jos lanka muodostetaan irrotettuna.

C++ Web-ohjelmointi

Ja mikä on CGI?

Typical Gateway Interface tai CGI on kokoelma ohjeita, jotka kuvaavat tietojen jakamista verkkopalvelimen ja mukautetun komentosarjan välillä. Ulkoisissa yhdyskäytäväjärjestelmissä Generic Gateway Interface tai CGI on standardi liitäntään tietopalvelimien, kuten HTTP-palvelimien, kanssa. CGI/1.1 on uusin versio, ja CGI/1.2 on kehitteillä.

Internetin selaaminen

Katsotaanpa, mitä tapahtuu, kun painamme hyperlinkkiä selataksemme tiettyä verkkosivua tai URL-osoitetta ymmärtääksemme CGI:n käsitteen. Selaimesi ottaa yhteyttä HTTP-verkkopalvelimeen ja vaatii URL-osoitteen, eli tiedostonimi kerrallaan. Web-palvelin jäsentää URL-osoitteen ja etsii tiedostonimeä. Jos pyydetty tiedosto löytyy, web-palvelin siirtää tiedoston takaisin selaimeen, muuten se lähettää virheilmoituksen, että olet pyytänyt virheellistä tiedostoa.

Popular Gateway Interface (CGI) on perusprotokolla, jonka avulla sovellukset voivat kommunikoida Web-palvelimien ja asiakkaiden kanssa. Nämä CGI-ohjelmat on mahdollista kirjoittaa Pythonilla, PERL:llä, Shellillä, C:llä tai C++:lla jne.

ESIMERKKI

|_+_|

Verkkopalvelimen määritykset

Varmista, että verkkopalvelin hyväksyy CGI:n ennen kuin jatkat CGI-ohjelmointia ja että se on suunniteltu sopimaan CGI-ohjelmille. Monet HTTP-palvelimen suorittamista CGI-ohjelmista sijaitsevat ennalta määritetyssä hakemistossa. Tätä hakemistoa kutsutaan CGI-hakemistoksi, ja sen nimi on sopimuksen mukaan /var/www/cgi-bin. CGI-tiedostojen tunniste on tavanomaisesti .cgi, vaikka ne ovat suoritettavissa C++:lla.

HTTP-otsikot

    Set-Cookie: merkkijono

Määritä merkkijonon läpi kulkeva eväste.

    Viimeksi muokattu: Päivämäärä

Resurssin viimeisen päivityksen päivämäärä.

    Sisällön pituus: N

Palautetun tiedon pituus tavuina. Selain käyttää tätä arvoa raportoidakseen tiedoston likimääräisen latausajan.

    Sisältötyyppi:

MIME-merkkijono, joka määrittää merkkijonon muodon

    Sijainti: URL

Palautettava URL-osoite pyydetyn URL-osoitteen sijaan. Tätä tiedostoa käytetään pyynnön ohjaamiseen toiseen tiedostoon.

    Vanhenee: Päivämäärä

Päivä, jolloin tiedoista tuli hyödyttömiä. Selaimen tulee käyttää tätä päättääkseen, onko verkkosivusto päivitettävä.

Ympäristömuuttujat

    SISÄLTÖTYYPPI: Sisältötietojen laji, jota käytetään, kun asiakas lähettää liitetyn sisällön palvelimelle. Esimerkiksi tiedostojen lataamiseen jne.SISÄLLÖN PITUUS: Kyselylomakkeen tietojen kesto, joka voidaan saada vain POST-pyyntöjä varten.HTTP-COOKIE: Palauttaa avain- ja arvoparityypin evästeet.AGENT HTTP USER: Pyyntöotsikko User-Agent -kenttä sisältää tietoja pyynnön käynnistäneestä käyttäjäagentista. Se on Internetin selaimen nimi.POLKUTIEDOT: Suunta CGI-skriptitiedostoon.KYSY STRING: URL-koodatut tiedot, jotka lähetetään GET-prosessin pyynnöstä.REMOTE ADDRR: Etäisännän IP-osoite, joka sallii valituksen. Tästä voi olla apua kirjaamisessa tai todennustarkoituksiin.ETÄISÄNTÄ: etsivän isännän täydellinen nimi. Jos näitä tietoja ei ole saatavilla, on mahdollista käyttää REMOTE ADDR:ää IR-osoitteen saamiseksi.PYYNTÖTAPA: Lähetyksen tuottamisessa käytetty menetelmä. GET ja POST ovat suosituimpia lähestymistapoja.SCRIPT FILENAME: Täydellinen tie CGI-skriptiinPALVELIMEN NIMI: Palvelimen toimialueen nimi tai IP-osoite.SERVER_SOFTWARE: Ohjelman nimi ja versio, jota palvelin on käynnissä.

GET- ja POST-menetelmät

Kun yrität siirtää tietoja selaimesta verkkopalvelimeen ja lopulta CGI-sovellukseesi, sinun on kohdattava tiettyjä skenaarioita. Selain käyttää yleisimmin kahta tapaa siirtääkseen nämä tiedot verkkopalvelimelle. Nämä lähestymistavat ovat GET-menetelmä ja POST-menetelmä.

URL-ESIMERKKI HANKI-menetelmä

|_+_|

Evästeiden käyttö

HTTP-protokolla on valtioton protokolla. Mutta kaupallisen verkkosivuston on tärkeää säilyttää istuntotiedot eri sivustojen välillä. Esimerkiksi yhden käyttäjän rekisteröinti päättyy useiden sivujen tultua valmiiksi. Mutta kuinka pitää istunnon tiedot käyttäjälle kaikilla web-sivustoilla. Luotettavin tapa muistaa ja seurata kiinnostuksen kohteita, myyntiä, palkkioita ja muita tietoja, joita tarvitaan parempaan vierailijakokemukseen tai sivuston tilastoihin, on käyttää evästeitä tietyissä tapauksissa.

Evästeen muodossa palvelimesi siirtää joitakin tietoja vierailijaikkunaan. Selain hyväksyy evästeen. Jos näin on, se tallennetaan vierailijan kiintolevylle pelkkänä teksti-arkistona. Nyt eväste on valmis palautettavaksi, kun käyttäjä osuu toiselle sivulle verkossasi. Kun se on palautettu, palvelin tietää/muistaa tallennetun.

    Vanhenee-Tämä tarkoittaa evästeen viimeistä käyttöpäivää. Jos tämä on tyhjä, kun vierailija sulkee selaimen, eväste vanhenee.Verkkotunnus- Tämä näyttää sivuston verkkotunnuksen.Polku− Tämä osoittaa polun evästeiden asetushakemistoon tai verkkosivulle. Jos yrität napata evästeen jostain hakemistosta tai välilehdestä, se voi olla tyhjä.Turvallinen− Jos tässä kentässä on sana suojattu, vain suojattu palvelin voi palauttaa evästeen. Jos tämä kenttä on tyhjä, muita rajoituksia ei sovelleta.Nimi = arvo− Avain- ja arvoparien muodossa evästeet asetetaan ja noudetaan.

Esimerkkitiedoston lataus

|_+_|

Johtopäätös

Tällä pääsemme tämän C++-opetusohjelman loppuun. Toivottavasti tämä auttoi sinua ymmärtämään C++-ohjelmoinnin perusteet.