VBA programm on lausete jada.

Programmide kirjutamisel tuleks järgida mitmeid tavasid. Seega saab ühele reale paigutada mitu väidet. Samal real olevate väidete vahele asetatakse koolon.

Iga rea ​​saab jagada kaheks, asetades esimese rea lõppu tähemärgid "Tühik" + "Allakriips" (_), sel juhul loetakse teist rida esimese jätkuks.

Programmi loetavuse hõlbustamiseks kasutatakse kommentaare. Kommentaaride sisestamiseks VBA-s on kaks võimalust: apostroofiga ('), mille saab paigutada ükskõik kuhu reale, ja reserveeritud sõna Rem kasutamine apostroobi asemel.

1. Hämaras operaator on mõeldud muutujatüüpide deklareerimiseks.

Dim A täisarvuna – muutuja A deklareeritakse täisarvuna, s.t. see salvestab ainult täisarvud .

Hämar D kuupäeva järgi – muutuja D on deklareeritud kuupäevade salvestamiseks.

· Hämar perekonnanimi, nimi stringina – muutujad deklareeritakse. Perekonnanimi ja Nimi, mõeldud teksti salvestamiseks.

· Dim B(12) täisarvuna – deklareeritakse ühemõõtmeline massiiv (vektor), mis koosneb 12 täisarvust ja vaikimisi on massiivi esimene element B(0) ja viimane B(12).

Dim B (3,3) Üksik – deklareeritakse kahemõõtmeline 3x3 massiiv (maatriks), mis koosneb reaalarvudest.

Kui muutuja tüüpi pole määratud, on vaiketüüp Variant. Kindlat tüüpi muutuja määramine muudab aga programmi töökindlamaks ja kiirendab selle tööd, sest VBA ei pea raiskama aega deklareerimata muutuja tuvastamiseks iga kord, kui sellele juurde pääseb.

Kui massiivi M suurus ei ole ette teada ja määratakse programmi käigus, siis massiivi kirjeldamisel elementide arvu ei märgita ja massiiv defineeritakse järgmiselt:

Dim M() Täisarvuna

Pärast massiivi elementide arvu määramist, näiteks N, peate kirjutama operaatori

2. Määramise operaator on mõeldud muutujale väärtuse määramiseks.

Süntaks:

Muutuja (või objekti omadus) = avaldis.

a=5 – määrake muutujale A väärtus 5 ;

· b=“juht” – muutuja b määrama mis tähendab "juht";

· Aadress=Sheets("Organisatsioonid"). Lahtrid(2,2) – määrata muutujale Aadress lahtri B2 sisu, mis asub aktiivse töövihiku lehel Organisatsioonid;

Perekonnanimi=UserForm1.Textbox1.Text – muutuv Perekonnanimi määratakse kasutajavormi UserForm1 välja TextBox1 sisule.

3. Koos/Lõpeta avaldusega säästab programmeerijat ühe ja sama objekti nime suure hulga korduste eest.

Süntaks:

Koos objektiga

operaator1

operaator2



operaatorN

Näiteks lausete jada asemel

UserForm1.TextBox1.Text = Kuupäev

UserForm1.TextBox2.Text = " "

UserForm1.ComboBox1.Text = " "

võib kirjutada nii

TextBox1.Text = Kuupäev

. TextBox2.Text = " "

. ComboBox1.Text = " "

REM Lehele Sheet1 veerus A, alustades teisest reast, kirjutatakse üles ‘töötajatariifid’. Täitke kasutajavormis UserForm1 liitkast ComboBox1

‘Programmi esimene rida – lehel Sheet1 veerus A ‘loetakse täidetud lahtrite arv, tulemus ‘määratakse muutujale N

N=Application.CountA(Sheets(“Leht1”).Range(“A:A”).

D=”A2:A”&Cint(N)

Arvutid(“Leht1”). Vahemik (D).Nimi=”tariifid”

TextBox1.Text = Kuupäev

. TextBox2.Text = " "

. ComboBox1.Text = " "

. ComboBox1.Rowsource = "Tarifid"

4. Tingimuslik väide Kui/Siis/Muidu– võimaldab kontrollida teatud seisundit ja olenevalt kontrolli tulemustest teha üht või teist toimingut

Süntaks:

Kui tingimus Siis operaatorid1 [ Muidu operaatorid2]

Kui tingimus on tõene, siis käivitatakse laused1, vastasel juhul täidetakse laused2.

Samuti on võimalik kasutada kompleksset tingimusoperaatorit, mis on kirjutatud plokina:

Kui tingimus1 Siis

operaatorid1

Muidu Kui tingimus2 Siis

märkNimiKirjeldus
= VõrdubTagastab väärtuse Tõene, kui vasak ja parem operandid on võrdsed. Pange tähele, et see on määramisoperaatori ülekoormus.
<> Pole võrdneTagastab väärtuse Tõene, kui vasak ja parem operandid ei ole võrdsed.
> Parem kuiTagastab väärtuse Tõene, kui vasak operand on suurem kui parem.
< Vähem kuiTagastab väärtuse Tõene, kui vasak operandi väärtus on väiksem kui parem.
>= Enam või võrdneTagastab väärtuse Tõene, kui vasak operand on suurem või võrdne parempoolse operandiga.
<= Vähem või võrdneTagastab väärtuse Tõene, kui vasak operandi väärtus on väiksem või võrdne parempoolse operandiga.
On VõrdluskapitalTagastab väärtuse Tõene, kui vasakpoolne objektiviide on sama eksemplar kui parempoolne objektiviide. Seda saab kasutada ka mõlemal küljel koos Nothingiga (null objektiviide). Märge. Operaator Is proovib enne võrdlemist mõlemat operandit objektile sundida. Kui kumbki pool on primitiivne tüüp või Variant, mis ei sisalda objekti (mitteobjekti alamtüüpi või vtEmpty) võrdlus annab tulemuseks käitustõrge 424 – "Vajalik objekt". Kui mõni operand kuulub teisele liides sama objektiga, tagastab võrdlus Tõene . Kui teil on vaja kontrollida mõlema eksemplari õiglust, siis Ja liides, ObjPtr(vasakul) = ObjPtr(paremal) kasuta ObjPtr(vasakul) = ObjPtr(paremal) .

Märkmed

VBA süntaks võimaldab võrdlusoperaatoreid "aheldada", kuid üldiselt tuleks neid konstruktsioone vältida. Võrdlust tehakse alati vasakult paremale ainult kahel operandil korraga ja iga võrdluse tulemuseks on Boolean. Näiteks väljend...

A = 2: b = 1: c = 0 avaldis = a > b > c

Mõnes kontekstis võib seda lugeda kui testimist, kas b on a ja c vahel. VBA-s hinnatakse seda järgmiselt:

A = 2: b = 1: c = 0 avaldis = a > b > c avaldis = (2 > 1) > 0 avaldis = õige > 0 avaldis = -1 > 0 "CInt(tõene) = -1 avaldis = väär

Kõik võrdlusoperaatorid peale Is, mida kasutatakse koos objektiga operandina, täidavad objekti vaikeliikme tagastusväärtust. Kui objektil ei ole vaikeliiget, annab võrdluse tulemuseks käitustõrge 438 – "Objekt ei toeta selle atribuuti või meetodit."

Kui objekti ei lähtestata, annab võrdluse tulemuseks käitustõrge 91 - "Objekti muutuja või blokeeritud muutujaga lukustatud."

Kui Nothing literaali kasutatakse mõne muu võrdlusoperaatoriga peale Is, tekib kompileerimisviga - "Objekti ebaseaduslik kasutamine".

Kui Objekti vaikeobjekt on teine ​​objekt, kutsub VBA pidevalt iga järgneva tagastusväärtuse vaikeelementi, kuni tagastatakse primitiivne tüüp või ilmneb viga. Oletame näiteks, et SomeClassil on vaikeliikme väärtus , mis on ChildClassi eksemplar koos ChildValue liikmega ChildValue . Võrdlus...

Määra x = New SomeClass Debug.Print x > 42

Hinnatakse järgmiselt:

Määra x = New SomeClass Debug.Print x.Value.ChildValue > 42

Kui kas operand on numbriline ja teine operandiks on string või stringi alamtüübi variant, viiakse läbi numbriline võrdlus. Sel juhul, kui stringi ei saa numbriga vastendada, on võrdluse tulemuseks käitustõrge 13 – "Tüübi mittevastavus".

Kui mõlemad Operandid on stringi alamtüübi String või variant, siis stringide võrdlus viiakse läbi koodimooduli parameetrite võrdlusparameetri põhjal. Neid võrdlusi tehakse tähemärgipõhiselt. pane tähele seda sümboolne esitus Numbrit sisaldav string Mitte on sama, mis numbriliste väärtuste sobitamine:

Avalik alamnäide() Dim left as Variant Dim right as Variant left = "42" right = "5" Silumine.Prindi vasak > parem "Prindib False Silumine.Print Val(left) > Val(right) "Prindib True End Sub

Sel põhjusel veenduge enne arvulise ebavõrdsuse võrdlemist, et muutujad String või Variant edastataks arvudele.

Kui üks operanditest on kuupäev, siis tehakse aluseks oleva topelt numbriline võrdlus, kui teine ​​operand on numbriline või seda saab teisendada numbritüübiks.

Kui teine ​​operand on string või stringi alamtüübi variant, mida saab praeguse lokaadi abil üle kanda kuupäevale, kantakse string üle kuupäevale . Kui seda ei saa praeguses lokaadis kuupäevale rakendada, on võrdluse tulemuseks käitustõrge 13 – "Tüübi mittevastavus".

Topelt- või üksikväärtuste ja Booleanide võrdlemisel tuleb olla ettevaatlik. Erinevalt teistest numbritüüpidest ei saa nullist erinevat väärtust pidada tõeseks, kuna VBA käitub võrdlusandmetüübi reklaamimisel, kasutades ujukoma numbrit Double:

Avalik alamnäide() Dim Test As Double Test = 42 Debug.Print CBool(Test) "Prindib tõene." Tõene tõstetakse üle Double - Testi ei edastata Boole'i ​​Debug.Print Test = Tõene "Prindib Väär "Selgetegudega: Debug.Print CBool(Test) = Tõene "Prindib tõese Debug.Print CDbl(-1) = CDbl(True) "Prindib True End Sub

Lühike teoreetiline teave

1. VBA programmeerimiskeele süntaks ja semantika

Programmeerimiskeele süntaks on reeglite kogum, mis kirjeldab tähemärkide kombinatsioone, mida peetakse korrektselt struktureeritud programmiks (dokumendiks) või selle fragmendiks.

Selle keele süntaktilised põhiprintsiibid on järgmised:

  • VBA on tõstutundlik;
  • Koodi kommenteerimiseks rea lõppu kasutage ühte jutumärki (") või käsku REM;
  • tähemärgi väärtused tuleb lisada jutumärkidesse (");
  • mis tahes nime maksimaalne pikkus VBA-s (muutujad, konstandid, protseduurid) on 255 tähemärki;
  • uue avalduse algus - ülekandmine uuele reale (selleks ei kasutata semikoolonit, nagu C-s, Javas, JavaScriptis);
  • Rea maksimaalsele pikkusele piiranguid ei ole (kuigi redaktoris mahub reale vaid 308 tähemärki). Mitu väidet samal real eraldatakse koolonitega:
    MsgBox "Check 1" : MsgBox "Check 2"
  • Lugemise hõlbustamiseks saate ühendada mitu füüsilist rida üheks loogiliseks, kasutades tühikut ja allkriipsu pärast seda:
    MsgBox "Sõnum kasutajale" _
    &vUserName

Keele semantika on sõnade semantiline tähendus. Programmeerimisel - operaatorite algne semantiline tähendus, põhilised keelekonstruktsioonid jne.

Operaator on VBA-koodi väikseim ühik, mida saab käivitada. Avaldis võib deklareerida või määratleda muutuja, määrata VBA kompilaatori suvandi või sooritada programmis mõne toimingu.

Aritmeetika VBA-s on ainult 7 operaatorit.

Neli standardset: liitmine (+), lahutamine (-), korrutamine (*), jagamine (/) ja veel kolm:

  • astendamine (^). Näiteks 2^3 = 8;
  • täisarvu jagamine (\). Jagab esimese numbri teisega, jättes murdosa kõrvale (ilma ümardamiseta). Näiteks 5\2 = 2;
  • modulo jaotus (Mod). Jagab esimese numbri teisega, tagastades ainult ülejäänud jaotuse. Näiteks 5 Mod 2 = 1.

VBA määramise operaator on võrdusmärk. Võite selle kirjutada nii:

Olgu nVar = 10
või veelgi lihtsam:
nVar = 10

Siin ärge ajage võrdusmärki segamini võrdusoperaatoriga. Viimane avaldis tähendab "seadke nVari väärtuseks 10" ja kui rida näeb välja selline: If (nVar = 10) , siis tähendab see "kui nVari väärtus on 10".

Võrdlusoperaatorid VBA-s on ainult 8:

  • võrdsus (=). Näiteks If (nVar = 10);
  • suurem kui (>) ja väiksem kui (10);
  • suurem või võrdne (>=) ja väiksem või võrdne (= 10);
  • pole võrdne (). Näiteks If(nVar10);
  • objektide võrdlus (Is). Määrab, kas objektimuutujad viitavad samale või erinevatele objektidele. Näiteks If (obj1 on obj2);
  • sarnasus (Meeldib). Võrdleb stringiobjekti mustriga ja määrab, kas muster sobib.

Võrdlusoperaatorid pöörduvad alati tagasi Tõsi(kui väide on tõene) või Vale(kui väide on vale).

Väga sageli kasutavad nad mitme tingimuse kontrollimisel loogilised operaatorid:

  • Ja - loogiline JA. Mõlemad tingimused peavad olema tõesed;
  • Või - ​​loogiline VÕI. Vähemalt üks tingimus peab olema tõene;
  • Mitte – loogiline eitus. Tagastab Tõene, kui tingimus on väär;
  • Xor on loogiline erand. Avaldises E1 tagastab Xvõi E2 väärtuse Tõene, kui ainult E1 = Tõene või ainult E2 = Tõene, vastasel juhul Väär;
  • Eqv - kahe avaldise ekvivalentsus, tagastab tõene, kui neil on sama väärtus;
  • Imp – implikatsioon, E1 Imp E2 tagastab Väär, kui E1 = Tõene ja E2 = Väär, vastasel juhul Tõene.

Peate meeles pidama umbes Ja või, mitte, kasutatakse muid loogilisi operaatoreid harva.

Muutujad- Need on konteinerid muudetavate andmete salvestamiseks. Peaaegu ükski programm ei saa ilma nendeta hakkama. Lihtsuse mõttes võib muutujat võrrelda numbriga garderoobis - annad riidekapile mingid andmed ja vastuseks antakse sulle number. Kui teil on neid andmeid uuesti vaja, "esitate numbri" ja saate selle.

Igal muutujal on nimi. Muutujale pääseb juurde nime järgi. VBA-s nimede valimise reeglid on paljude elementide (muutujad, konstandid, funktsioonid, protseduurid jne) jaoks samad:

  • nimi peab algama tähega;
  • ei tohi sisaldada tühikuid ega kirjavahemärke (erandiks on alakriips);
  • maksimaalne pikkus - 255 tähemärki;
  • peab olema praeguses ulatuses ainulaadne
  • reserveeritud sõnu (neid, mis on koodiredaktori aknas sinisega esile tõstetud) ei saa kasutada.

VBA-programmide loomisel on soovitatav otsustada, milliste reeglite järgi objekte nimetatakse - nimetamiskokkulepe. Kõige sagedamini kasutatav on nn Ungari leping (ühe Microsofti programmeerija Charles Simonyi auks, rahvuselt ungarlane):

  • Muutuja nimi peab algama prefiksiga, mis on kirjutatud väiketähtedega. Eesliide näitab, mis täpselt sellesse muutujasse salvestatakse:
    str (või s) – string, märgi väärtus;
    fn (või f) - funktsioon;
    alamprotseduur;
    c (või kõik nimetähed on suurtähtedega) - konstantne(konteiner andmete salvestamiseks, mis erinevalt muutujatest ei muutu VBA programmi täitmise ajal);
    b - Boolean, loogiline väärtus (True või False);
    d - kuupäev;
    obj (või o) - objektiviide;
    n - arvväärtus;
  • funktsioonide nimed, meetodid ja iga sõna liitsõnas peavad algama suure tähega:
    MsgBox objMyDocument.Name
    Sub CheckDateSub()

Andmetüüp neid peetakse mis tahes programmeerimiskeele kõige fundamentaalsemateks mõisteteks. Andmetüüp määratleb kehtivate väärtuste komplekti, mida väärtus (muutuja või konstant) võib võtta, ja toimingute komplekti, mida selle väärtusega saab teha.

2. Põhilised VBA andmetüübid

VBA pakub järgmisi andmetüüpe:

  • numbriline:
    Bait- täisarv 0 kuni 255, ladustamiseks vajalik 1 bait mälu;
    Täisarv- täisarv vahemikus –32 768 kuni 32 767, 2 baiti ;
    Pikk- suur täisarv vahemikus –2 147 483 648 kuni 2 147 483 647, 4 baiti ;
    Valuuta(rahaline) - suur koma, 19 kohta, sealhulgas 4 kohta pärast koma
    (alates –922337203685477.5808 kuni 922337203685477.5807), 4 baiti,
    kasutatakse numbrite salvestamiseks, kui täpsus on äärmiselt oluline, mis juhtub rahaühikutega arvutamisel;
    Kümnend- veelgi suurem koma 29 positsiooniga (pärast koma võite kasutada 0 kuni 28 kohta), 8 baiti;
    Vallaline Ja Kahekordne- ujukoma väärtused ( 4 ja 8 baiti)
    (-3,402823·10 38 kuni -1,401298·10-45 negatiivsete väärtuste ja
    1,401298·10–45 kuni 3,402823·10 38 üksikute positiivsete väärtuste korral ja
    vahemikus -1,79769313486232·10 308 kuni -4,94065645841247·10 -324 negatiivsete väärtuste korral ja
    4,94065645841247·10 -324 kuni 1,79769313486232·10 308 Double'i positiivsete väärtuste korral);
  • string( String muutuva pikkusega (kuni ligikaudu 2 miljardit tähemärki) ja fikseeritud pikkusega (kuni ligikaudu 65 400 tähemärki));
  • päev ja aeg ( Kuupäev- 01.01.100 kuni 31.12.9999), 8 baiti;
  • tõeväärtus ( Boolean- saab salvestada ainult tõeseid ja valesid väärtusi), 2 baiti;
  • objekt ( Objekt- salvestab mällu viite mis tahes objektile);
  • Variant- spetsiaalne andmetüüp, mis suudab salvestada mis tahes tüüpi andmeid, 16 baiti +1
Andmetüüpide tähistused on keele märksõnad (ja tõstetakse esile VBA redaktorisse sisestamisel). Erinevate andmetüüpidega on lubatud erinevad toimingud. VBA-s on kolm peamist tüüpi toiminguid:
  • matemaatilised, sooritatakse arvude peal, nende tulemuseks on arvud;
  • relatsioonioperatsioone saab rakendada mitte ainult arvude puhul, nende tulemuseks on loogilist tüüpi väärtus;
  • loogilisi kasutatakse loogilistes avaldistes ja nende tulemuseks on loogilised väärtused.

3. Tegevuse prioriteedid

Prioriteet Operatsioon
1
2
3
4
5
6
7
8
9
10
11
12
Funktsioonikutse ja sulud
^
- (märgi vahetus)
*, /
\
Mod
+, –
>, <, >=, <=, <>, =
Mitte
Ja
Või
Xor

4. Matemaatilised funktsioonid

Funktsioon Tagastusväärtus
Kõhulihased (<число>) Arvu moodul (absoluutväärtus).
Atn(<число>) Arktangent
Cos(<число>) Koosinus
Aeg (<число>) Eksponent, st naturaallogaritmi aluse suurendamise tulemus määratud astmeni
Logi(<число>) Naturaalne logaritm
Rnd (<число>) Juhuslik arv intervallist


Operandi_N on mis tahes kehtiv string või numbriline avaldis (mis teisendab stringiks).

Stringi aheldamise tulemuse andmetüüp on String.

Kui stringi konkatenatsiooniavaldises olev operandi väärtus on Tühi või Null, tõlgendab VBA seda operandi nullpikkusega stringina (stringina, mis ei sisalda märke).

Märge! Konkatenatsioonitehte sümbol (&) tuleb muutuja nimest tühikuga eraldada, sest vastasel juhul võib VBA tõlgendada tähemärki pika tüübi määratluse märgina.

Liitmise operaator stringide konkatenatsioonis

Samuti saate stringide ühendamiseks kasutada operaatorit (+).

Sellel operaatoril on sama süntaks ja nõuded kui operaatoril (&). Kuid mõistke, et VBA-s on operaatori (+) peamine eesmärk aritmeetiline liitmine. Seetõttu on programmikoodi lugemisel ebaselguse vältimiseks tungivalt soovitatav kasutada stringide ühendamiseks operaatorit (&).

Operatsiooni prioriteedid

Paljud programmikoodi avaldised on komplekssed (komposiitsed), s.t. koosneb kahest või enamast väljendist.

Keeruliste avaldiste hindamisel järgib VBA järgmisi reegleid:

  • Sulgudes olevad avaldise osad hinnatakse alati esimesena;
  • Konkreetsed toimingud tehakse sõltuvalt operaatorite hierarhiast (tabel allpool);
  • Kui operaatorite hierarhia on võrdne, hinnatakse neid vasakult paremale.
Operaator

Need operaatorid võrdlevad kahte avaldist, et teha kindlaks, kas need on võrdsed ja kui mitte, siis kuidas need erinevad. Kas , IsNot ja Like on üksikasjalikult käsitletud eraldi abilehtedel. Sellel lehel käsitletakse võrdlusoperaatorite suhteid.

Tulemus = avaldis1 võrdlusoperaator avaldis2 tulemus = objekt1 objekt2 tulemus = string Nagu muster

tulemus
Nõutud. Tulemuseks on Boole'i ​​väärtus, mis esindab võrdluse tulemust.

väljendus
Nõutud. Suvaline väljend.

võrdlusoperaator
Nõutud. Mis tahes relatsioonilise võrdluse operaator.

objekt1, objekt2
Nõutud. Mis tahes viidatud objekti nimi.

string
Nõutud. Suvaline avaldis tüübiga String .

muster
Nõutud. Mis tahes stringi avaldis või tähemärkide vahemik.

Järgmises tabelis on loend võrdlusoperaatoritest ja -tingimustest, mis määravad, kas tulemus on tõene või väär.

Märge

Stringide võrdlemisel hinnatakse stringi avaldisi nende tähestikulise sortimise järjekorra alusel, mis sõltub suvandi Võrdlemise sättest.

Suvand Võrdle binaar määrab meetodi stringide võrdlemiseks sortimisjärjestuse alusel, mille määrab märkide sisemine binaarne esitus. Sorteerimisjärjestuse määrab koodileht. Järgmine näide näitab tüüpilist binaarset sortimise järjekorda.

A< B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

Suvand Võrdle teksti määrab stringide võrdlusmeetodi, mis põhineb teksti sortimise järjekorral (tõstutundlik), mis on määratud rakenduse piirkondlike sätetega. Kui suvand Võrdle teksti on määratud ja eelmises näites olevad märgid on sorteeritud, rakendatakse järgmist teksti sortimise järjekorda:

(A=a)< (À= à) < (B=b) < (E=e) < (Ê= ê) < (Ø = ø) < (Z=z)

Lokaadist sõltuvus

Kui määrate suvandi Võrdle teksti, võib stringide võrdlemise tulemus sõltuda lokaadist, milles rakendus töötab. Kaht tähemärki võib pidada võrdseks ühes lokaadis, kuid mitte teises. Kui kasutate stringide võrdlust oluliste otsuste tegemiseks, näiteks sisselogimiskatse lubamiseks, tuleks arvestada lokaadi tundlikkusega. Kaaluge suvandi Võrdle binaarset määramist või selle kutsumist, mis on lokaaditeadlik.

Võrdlusoperaatorite kasutamine objektiavaldistega ei ole lubatud, kui Option Strict On . Kui valik Range väljas ja avaldis1 või avaldis2 on objekt , määravad käitusaja tüübid, kuidas neid võrrelda. Järgmine tabel näitab avaldiste võrdlust ja võrdluse tulemusi sõltuvalt käitusajal määratud operandide tüübist:

Numbrilistes võrdlustes käsitletakse väärtust Mitte midagi kui 0. Stringivõrdluses käsitletakse väärtust Mitte midagi kui "" (tühi string).

Võrdlusoperaatorid (< . <= , > , >= , = , <>) võib olla ülekoormatud; see tähendab, et klass või struktuur võib oma käitumise alistada, kui operaand on selle klassi või struktuuri tüüpi. Kui teie kood kasutab sellise klassi või struktuuri puhul neid operaatoreid, veenduge, et mõistate selle alistatud käitumist. Lisateabe saamiseks vt