Ko dara :: dara C++?

Ko Dara Dara C



C++ ir daudzpusīga programmēšanas valoda, kas izstrādātājiem piedāvā plašu funkcionalitāti. Viena no C++ visbiežāk izmantotajām funkcijām ir darbības jomas izšķiršanas operators , kas pazīstams arī kā dubultā kola (::) . Neskatoties uz to, ka tā ir būtiska valodas sastāvdaļa, dubultā kola operators var būt mulsinošs daudziem izstrādātājiem, jo ​​īpaši tiem, kas to vēl nav izmantojuši.

Šajā rokasgrāmatā mēs apskatīsim dubultā kola (::) operators valodā C++ un kā tas darbojas dažādos scenārijos.

Ko dara :: dara C++?

Programmā C++, darbības jomas izšķirtspēja operators (::) tiek izmantots, lai izgūtu mainīgo nosaukumus, kas atrodas dažādos tvēruma līmeņos. Programmēšanas joma attiecas uz kontekstu, kurā var piekļūt mainīgajiem lielumiem un funkcijām.







Izmantošana :: dažādos gadījumos C++

Programmā C++, darbības jomas izšķiršanas operators (::) ir dažādi lietojumi atkarībā no konteksta, kurā tas tiek izmantots. Tālāk ir norādīti daži ievērojami šī operatora lietojumi.



1: Piekļūstiet mainīgajam vai funkcijai citā nosaukumu telpā

A nosaukumvieta tiek izmantots C++, lai grupētu saistītas funkcijas, klases un mainīgos, lai izvairītos no nosaukumu konfliktiem. Kad definējat mainīgo vai funkciju a nosaukumvieta , mainīgā vai funkcijas nosaukums ir redzams tikai tajā nosaukumvieta .



Programmā C++ varat izmantot darbības jomas izšķiršanas operators (::) kopā ar nosaukumvieta nosaukums un mainīgā vai funkcijas nosaukums, lai piekļūtu mainīgajam vai funkcijai, kas definēta citā nosaukumvietā. Tas ļauj piekļūt mainīgajam vai funkcijai no a nosaukumvieta izņemot to, kurā tas tika izveidots.





Lai saprastu iepriekš minēto gadījumu, kā piemēru apsveriet šādu kodu:

#include

izmantojot namespace std ;

vārdu telpas matemātika {

konst dubultā PI = 3.14159 ;

dubultā kvadrāts ( dubultā x ) {

atgriezties x * x ;

}

}

starpt galvenais ( ) {

cout << 'PI vērtība ir: << matemātika :: PI << endl ;

cout << 'Kvadrāts no 5 ir: << matemātika :: kvadrāts ( 5 ) << endl ;

atgriezties 0 ;

}

Iepriekš minētais kods izmanto matemātikas nosaukumvieta lai piekļūtu “PI” pastāvīgs un 'kvadrāts' funkciju, izmantojot darbības jomas izšķiršanas operators “::” . Pēc tam tas izdrukā vērtības konsolē.



Izvade

2: Piekļūstiet globālajam mainīgajam programmā

Ja programmā ir viens un tas pats vietējo un globālo mainīgo nosaukums, lokālais mainīgais var paslēpt globālo. Šādās situācijās varat izmantot darbības jomas izšķiršanas operators (::) lai piekļūtu globālajam mainīgajam. Šis operators ļauj mums skaidri atsaukties uz globālo mainīgo, pamatojoties uz tā darbības jomu.

Piemēram, tālāk norādītajā kodā mēs esam atsaukušies uz globālo mainīgo ‘a ' caur darbības jomas izšķiršanas operators(::) , no funkcijas iekšpuses, kur ir definēts vietējais mainīgais ar tādu pašu nosaukumu:

#include

izmantojot namespace std ;

starpt a = piecpadsmit ;

starpt galvenais ( )

{

starpt a = 35 ;

cout << 'Globālā mainīgā a vērtība ir' << :: a << endl ;

cout << 'Lokālā mainīgā a vērtība ir' << a << endl ;

atgriezties 0 ;

}

Iepriekš minētajā kodā mainīgais a atrodas ārpus galvenās funkcijas ir globālais mainīgais un mainīgais a galvenajā funkcijā ir vietējais mainīgais ar tādu pašu nosaukumu kā globālajam mainīgajam. Cout paziņojumā mēs esam izmantojuši tvēruma izšķirtspējas operatoru, lai drukātu globālo mainīgo a .

Izvade

3: definējiet funkciju ārpus klases

Programmā C++ varat definēt klases funkciju ārpus klases definīcijas, un to var izdarīt, izmantojot darbības jomas izšķiršanas operators (::) lai norādītu, kurai klasei funkcija pieder. Tas ir nepieciešams, jo funkcija ir definēta ārpus klases darbības jomas.

Šeit ir koda piemērs, kas parāda šo koda izmantošanu darbības jomas izšķiršanas operators :

#include

izmantojot namespace std ;



klase myClass {

publiski :

nederīgs mana funkcija ( ) ;

} ;

nederīgs mana klase :: mana funkcija ( ) {

cout << 'myfunction() Called!' ;

}

starpt galvenais ( )

{

myClass classObj ;

klaseObj. mana funkcija ( ) ;

atgriezties 0 ;

}

Iepriekš minētajā kodā dalībnieka funkcija mana funkcija () ir definēts ārpus klases, izmantojot darbības jomas izšķiršanas operators :: lai to norādītu mana funkcija () pieder pie myClass klases.

Izvade

4: Piekļūstiet klases statiskajiem dalībniekiem

C++ valodā, ja klasē ir statisks dalībnieks un lokālais mainīgais ar tādu pašu nosaukumu, darbības jomas izšķiršanas operators (::) var izmantot, lai piekļūtu statiskajiem klases dalībniekiem. Tas ļauj programmai atšķirt vietējo mainīgo un statisko dalībnieku.

Šeit ir koda piemērs, kas attiecas uz izmantošanu darbības jomas izšķiršanas operators šādam gadījumam:

#include

izmantojot namespace std ;

klase myClass {

publiski :

statisks starpt myStatVar ;

} ;

starpt mana klase :: myStatVar = 5 ;

starpt galvenais ( ) {

starpt myStatVar = 10 ;

cout << 'Vietējais mainīgais myStatVar:' << myStatVar << endl ;

cout << 'Klases mainīgais myStatVar:' << mana klase :: myStatVar << endl ;

atgriezties 0 ;

}

Iepriekš minētā programma vispirms definē klasi mana klase ar statisku locekļa mainīgo myStatVar . Pēc tam tas programmas galvenajā funkcijā definē vietējo mainīgo ar tādu pašu nosaukumu. Lai piekļūtu klases mainīgajam, darbības jomas izšķiršanas operators (::) tiek lietots ar klases nosaukumu mana klase . Programma izvada abu mainīgo vērtību konsolei.

Izvade

5: Izmantojiet ar vairākiem mantojumiem

The darbības jomas izšķiršanas operators (::) tiek izmantots arī, lai norādītu, kuru dalībnieka versiju izmantot, ja C++ klase ir atvasināta no vairākām vecākklasēm, kurām ir dalībnieku mainīgie vai funkcijas ar tādu pašu nosaukumu. Mēs varam atšķirt dažādas viena un tā paša dalībnieka versijas, izmantojot darbības jomas izšķiršanas operators kam seko vecāku klases nosaukums un dalībnieka vārds.

#include

izmantojot namespace std ;

klases vecāks1 {

publiski :

nederīgs drukāt ( ) {

cout << 'Šī ir klases Parent1 drukas funkcija.' << endl ;

}

} ;

klase Vecāki2 {
publiski :
nederīgs drukāt ( ) {
cout << 'Šī ir klases Parent2 drukas funkcija.' << endl ;
}
} ;
klase myClass : publiskais Vecāks1 , publiskais Vecāks2 {
Privāts :
starpt uz viena ;

publiski :
mana klase ( starpt n ) {
uz viena = n ;
}
nederīgs drukāt ( ) {
Vecāks1 :: drukāt ( ) ; // izsauc Parent1 drukas funkciju
Vecāks2 :: drukāt ( ) ; // izsauc Parent2 drukas funkciju
cout << 'Numura vērtība ir:' << uz viena << endl ; // izdrukā num vērtību
}
} ;
starpt galvenais ( ) {
myClass obj ( 42 ) ; // izveidot MyClass objektu ar numuru, kas inicializēts uz 42
obj. drukāt ( ) ; // izsauc objekta print() funkciju
atgriezties 0 ;
}

Iepriekš minētā programma parāda, kā tiek izmantota darbības jomas izšķiršanas operators (::) lai atšķirtu drukāšanas funkcijas Vecāks1 un Vecāks2 kad abas klases ir mantojušas mana klase. Izsaucot funkcijas ar Vecāku klase nosaukumu pirms funkcijas nosaukuma, mēs varam norādīt, kuru funkcijas versiju izmantot.

Izvade

Bottom Line

The darbības jomas izšķiršanas operators (::) ir būtiska C++ sastāvdaļa, ko izmanto, lai piekļūtu mainīgo nosaukumiem dažādos tvēruma līmeņos. Operatoram ir dažādi lietojumi, tostarp piekļuve mainīgajam vai funkcijai citā nosaukumtelpā, piekļuve globālajam mainīgajam, funkcijas definēšana ārpus klases, piekļuve klases statiskajiem dalībniekiem un vairāku mantojumu izmantošana. Lai gan tas var būt mulsinoši jaunajiem izstrādātājiem, saprotot darbības jomas izšķiršanas operators (::) ir būtiska labai programmēšanas praksei.