Kako najbolje uporabiti operaterja ločljivosti obsega v jeziku C ++?



Ta članek vam bo predstavil operater ločljivosti področja v jeziku C ++ in nadaljeval s programskim prikazom za podrobno razumevanje.

Kot že ime pove, se za pridobivanje skritih imen zaradi spremenljivega obsega uporablja operator Scope Resolution, tako da jih lahko še vedno uporabljate. V tem članku bomo razumeli, kako uporabljati operater ločljivosti obsega v jeziku C ++ in v čem se razlikuje od a .

V C ++ je operater ločljivosti obsega ::. Operator ločljivosti obsega v jeziku C ++ se lahko uporablja za:





Zdaj pa s pomočjo primerov razumemo vsak namen posebej.

Dostop do globalne spremenljivke, če obstaja lokalna spremenljivka z isto ime

Če imate lokalno spremenljivko z istim imenom, lahko za dostop do globalne spremenljivke uporabite operater ločljivosti obsega. V spodnjem primeru imamo dve spremenljivki, ki se imenujeta številka z globalnim in lokalnim obsegom. Za dostop do globalne spremenljivke num v glavnem razredu morate uporabiti operater ločljivosti obsega (tj. :: num).



Primer

#include using namespace std int num = 30 // Inicializacija globalne spremenljivke num int main () {int num = 10 // Inicializacija lokalne spremenljivke num cout<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

Izhod

Nadaljujemo s tem člankom o operaterju Resolucija o obsegu v jeziku C ++



Določanje funkcije zunaj razreda

Če funkcijo deklarirate v razredu in jo želite pozneje definirati zunaj razreda, lahko to storite z operaterjem ločljivosti obsega. V spodnjem primeru navajamo funkcijo Speed ​​v razredu Bike. Kasneje definiramo funkcijo v glavnem razredu z operaterjem ločljivosti obsega.

Primer

#include using namespace std class Bike {public: // Just the Function Declaration void Speed ​​()} // Določanje funkcije Speed ​​zunaj razreda Bike z uporabo :: void Bike :: Speed ​​() {cout<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

Izhod

Nadaljujemo s tem člankom o operaterju Resolucija o obsegu v jeziku C ++

Dostop do statičnega predmeta razreda spremenljivke

Do statične spremenljivke razreda lahko dostopate z uporabo razreda in operatorja ločljivosti obsega (tj. Ime_razreda :: static_variable). Kot lahko vidite v spodnjem primeru, v razredu razglašamo statično spremenljivko. Spremenljivko definiramo zunaj razreda z uporabo operaterja ločljivosti obsega. Nato do njega dostopamo z operatorjem imena razreda in področja ločljivosti.

kako pretvoriti binarni niz v decimalno v javi

Primer

#include using namespace std class Poskusite {static int num1 public: static int num2 // Lokalni parameter skriva člana razreda // Do člana razreda je mogoče dostopati s pomočjo :: void function (int num1) {// do statične spremenljivke num1 lahko dostopate :: // kljub lokalni spremenljivki num1 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 } 

Izhod

Nadaljujemo s tem člankom o operaterju Resolucija o obsegu v jeziku C ++

Sklicevanje na razred znotraj drugega razreda

V obeh razredih lahko ustvarite ugnezdeni razred z enakimi imeni spremenljivk. Do obeh spremenljivk lahko dostopate z operaterjem ločljivosti obsega. Za spremenljivko notranjega razreda morate uporabiti Outer_Class :: Inner_Class :: spremenljivka.

Primer

#include z uporabo imenskega prostora 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}

Nadaljujemo s tem člankom o operaterju Resolucija o obsegu v jeziku C ++

V primeru večkratnega dedovanja

Če imate dva nadrejena razreda z enakimi imeni spremenljivk in oba podedujete v podrejenem razredu, lahko za dostop do posameznih spremenljivk uporabite operator ločljivosti obsega z imenom razreda.

V spodnjem primeru ustvarjamo dva nadrejena razreda Parent1 in Parent2, oba pa imata spremenljivko num. Ko podedujemo oba v razredu Child, lahko do obeh spremenljivk num dostopamo z uporabo razreda in operaterja ločljivosti področja.

Primer

#include using namespace std class Parent1 {protected: int num public: Parent1 () {num = 100}} class Parent2 {protected: int num public: Parent2 () {num = 200}} class Child: public Parent1, public Parent2 { 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 } 

Izhod

Nadaljujemo s tem člankom o operaterju Resolucija o obsegu v jeziku C ++

Imenski prostor

Recimo, da imamo dva imenska prostora in oba vsebujeta razred z istim imenom. Da bi se izognili kakršnim koli konfliktom, lahko uporabimo ime imenskega prostora z operaterjem ločljivosti obsega. V spodnjem primeru, ki ga uporabljamo std :: cout .

Primer

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

Izhod

Zdaj, ko bi šli skozi zgornje programe, bi razumeli vse o operaterju ločljivosti obsega v C ++. Upam, da je ta spletni dnevnik informativen in dodane vrednosti za vas.

Zdaj po izvedbi zgornjega programa bi razumeli operater Scope Resolution v C ++. Tako smo prišli do konca tega članka o 'Quicksort v Javi'. Če želite izvedeti več, si oglejte Java Training by Edureka, zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, navedite to v oddelku za komentarje tega spletnega dnevnika, mi se vam bomo oglasili v najkrajšem možnem času.