Kuidas kõige paremini kasutada skaala eraldusvõime operaatorit C ++ versioonis?



See artikkel tutvustab teile ulatuseralduse operaatorit C ++ -s ja järgib seda üksikasjaliku mõistmise jaoks programmilise tutvustuse abil.

Nagu nimest võib järeldada, kasutatakse muutuja ulatusega varjatud nimede saamiseks operaatori Scope resolution operaatorit, et saaksite neid endiselt kasutada. Selles artiklis mõistame, kuidas kasutada ulatuseralduse operaatorit C ++ keeles ja millised on selle erinevad eesmärgid .

C ++ puhul on ulatuse eraldamise operaator ::. Reguleerimisala eraldusvõime operaatorit C ++ keeles saab kasutada:





teisendused informaatikas koos näitega

Mõelgem nüüd näidete abil iga eesmärki ükshaaval.

Globaalse muutuja juurde pääsemine, kui kohalik muutuja on sama nimega

Kui teil on sama nimega lokaalne muutuja, saate globaalse muutuja juurde pääsemiseks kasutada ulatuseralduse operaatorit. Allpool toodud näites on meil kaks muutujat, mõlemad nimetavad num globaalse ja kohaliku ulatusega. Niisiis, põhiklassi globaalse num muutuja juurde pääsemiseks peate kasutama ulatuseralduse operaatorit (st :: num).



Näide

#include nimeruumi abil st int int = 30 // Globaalse muutuja num int main () initsialiseerimine (int {= num = 10 // Kohaliku muutuja num cout initsialiseerimine<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

Väljund

Selle artikliga edasi liikudes skaala eraldusvõime operaator C ++



Klassivälise funktsiooni määratlemine

Kui deklareerite funktsiooni klassis ja soovite hiljem seda väljaspool klassi määratleda, saate seda teha ulatuseralduse operaatori abil. Allpool toodud näites kuulutame välja klassi Speed ​​Bike funktsiooni Speed. Hiljem määratleme funktsiooni põhiklassi, kasutades ulatuseralduse operaatorit.

Näide

#include nimeruumi standardklassiga Bike {public: // Just the Function Declaration void Speed ​​()} // Funktsiooni Speed ​​määratlemine väljaspool Bike klassi kasutades :: void Bike :: Speed ​​() {cout<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

Väljund

Selle artikliga edasi liikudes skaala eraldusvõime operaator C ++

Juurdepääs klassi staatikale muutujad

Kursuse staatilisele muutujale pääsete juurde, kasutades klassi nime ja ulatuse eraldusoperaatorit (st klassi_nimi :: staatiline_muutuja). Allpool toodud näites näeme, et kuulutame klassi staatilise muutuja. Muutuja määratleme väljaspool klassi, kasutades ulatuseralduse operaatorit. Siis pääseme sellele juurde, kasutades klassi nime ja ulatuse eraldusoperaatorit.

Näide

#include nimeruumi standardklassiga Proovige {static int num1 public: static int num2 // Kohalik parameeter varjab klassi liiget // Klassi liikmele pääseb sellele juurde funktsiooni :: void abil (int num1) {// stat1 :: // vaatamata kohalikule muutujale nr1 cout<< 'Static num1: ' << Try::num1 cout << 'nLocal num1: ' << num1 } } // Defining a static members explicitly using :: int Try::num1 = 10 int Try::num2 = 15 int main() { Try o int num1 = 20 o.function(num1) cout << 'nTry::num2 = ' << Try::num2 return 0 } 

Väljund

Selle artikliga edasi liikudes skaala eraldusvõime operaator C ++

Viitamine klassile, mis asub teises klassis

Mõlemas klassis saate luua pesastatud klassi ühesuguste muutujate nimedega. Mõlemale muutujale pääsete juurde ulatuseralduse operaatori abil. Siseklassi muutuja jaoks peate kasutama Väline_klass :: Sisemine_klass :: muutuja.

Näide

#include nimeruumi kasutamine std class Outside_class {public: int num class Inside_class {public: int num static int x}} int Outside_class :: Inside_class :: x = 5 int main () {Outside_class A Outside_class :: Inside_class B}

Selle artikliga edasi liikudes skaala eraldusvõime operaator C ++

Mitmekordse pärimise korral

Kui teil on kaks ühesuguse muutuja nimega vanemklassi ja pärite mõlemad lapseklassist, saate üksikute muutujate juurde pääsemiseks kasutada klassi nimes oleva ulatuseralduse operaatorit.

Allpool toodud näites loome kaks vanemklassi Parent1 ja Parent2 ning mõlemal on muutuja arv. Kui me mõlemad pärime lapseklassist, pääseme klassi nime ja ulatuse eraldusoperaatori abil juurde mõlemale muutujale.

Näide

#include kasutades nimeruumi standardklass Vanem1 {kaitstud: int num public: Vanem1 () {num = 100}} klass Vanem2 {kaitstud: int num public: Vanem2 () {num = 200}} klass Laps: avalik Vanem1, avalik Vanem2 { public: void function () {cout<< 'Parent1's num is ' << Parent1::num cout << 'nParent2's num is ' << Parent2::num } } int main() { Child obj obj.function() return 0 } 

Väljund

Selle artikliga edasi liikudes skaala eraldusvõime operaator C ++

Nimeruum

Oletame, et meil on kaks nimeruumi ja mõlemad sisaldavad sama nimega klassi. Nii et konfliktide vältimiseks võime kasutada nimeruumi nime ulatuseralduse operaatoriga. Allpool toodud näites kasutame std :: cout .

Näide

#include int main () {std :: cout<< 'Hello' << std::endl } 

Väljund

Nüüd pärast ülaltoodud programmide läbimist oleksite kõik mõistnud C ++ ulatuseralduse operaatorist. Loodan, et see ajaveeb on informatiivne ja annab teile lisaväärtust.

Pärast ülaltoodud programmi käivitamist oleksite mõistnud Scope Resolution Operaatorit C ++ keeles. Nii oleme jõudnud selle artikli juurde, mis käsitleb teemat ‘Quicksort in Java’. Kui soovite rohkem teada saada, vaadake usaldusväärse veebipõhise õppefirma Edureka Java koolitust. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud selleks, et õpetada teid nii Java põhiliste kui ka edasijõudnute kontseptsioonide jaoks koos erinevate Java-raamistikega nagu Hibernate & Spring.

Kas teil on meile küsimus? Palun mainige seda selle blogi kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.