Cum se utilizează cel mai bine operatorul de rezoluție a domeniului în C ++?



Acest articol vă va prezenta operatorul de rezoluție a domeniului în C ++ și îl va urmări demonstrația programatică pentru o înțelegere detaliată.

După cum sugerează și numele, operatorul de rezoluție Scope este folosit pentru a obține numele ascunse datorită domeniilor variabile, astfel încât să le puteți utiliza în continuare. În acest articol vom înțelege cum să folosim operatorul de rezoluție a scopului în C ++ și care sunt diferitele sale scopuri față de un .

În C ++, operatorul de rezoluție a domeniului este ::. Operatorul de rezoluție a domeniului în C ++ poate fi utilizat pentru:





Acum să înțelegem fiecare scop unul câte unul cu ajutorul exemplelor.

Accesarea unei variabile globale atunci când există o variabilă locală cu acelasi nume

Puteți utiliza operatorul de rezoluție a domeniului pentru a accesa variabila globală dacă aveți o variabilă locală cu același nume. În exemplul de mai jos avem două variabile ambele numesc num cu scop global și local. Deci, pentru a accesa variabila num globală din clasa principală, trebuie să utilizați operatorul de rezoluție a domeniului (adică :: num).



Exemplu

#include folosirea spațiului de nume std int num = 30 // Inițializarea unei variabile globale num int main () {int num = 10 // Inițializarea variabilei locale num cout<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

Ieșire

Continuăm cu acest articol despre Scope Resolution Operator în C ++



Definirea unei funcții în afara unei clase

Dacă declarați o funcție într-o clasă și apoi doriți mai târziu să o definiți în afara clasei, puteți face acest lucru folosind operatorul de rezoluție a scopului. În exemplul de mai jos, declarăm o funcție Speed ​​în Class Bike. Mai târziu definim funcția în clasa principală folosind operatorul de rezoluție a scopului.

Exemplu

#include using namespace std class Bike {public: // Just the Function Declaration void Speed ​​()} // Definirea funcției Speed ​​în afara clasei Bike folosind :: void Bike :: Speed ​​() {cout<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

Ieșire

Continuăm cu acest articol despre Scope Resolution Operator în C ++

Accesarea statisticii unei clase variabile

Puteți accesa variabila statică a clasei utilizând numele clasei și operatorul de rezoluție a domeniului (adică nume_clasă :: variabilă_statică). Puteți vedea în exemplul de mai jos, declarăm o variabilă statică în clasă. Definim variabila în afara clasei folosind operatorul de rezoluție a scopului. Apoi îl accesăm folosind numele clasei și operatorul de rezoluție a scopului.

Exemplu

#include folosind namespace std class Încercați {static int num1 public: static int num2 // Parametrul local ascunde membrul clasei // Membrul clasei poate fi accesat utilizând :: funcția void (int num1) {// num1 variabila statică poate fi accesată folosind :: // în ciuda variabilei locale 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 } 

Ieșire

Continuăm cu acest articol despre Scope Resolution Operator în C ++

matricea php print_r

Referindu-se la o clasă din interiorul altei clase

Puteți crea o clasă imbricată cu aceleași nume de variabile în ambele clase. Puteți accesa ambele variabile utilizând operatorul de rezoluție a scopului. Pentru variabila clasă interioară, trebuie să o utilizați Outer_Class :: Inner_Class :: variable.

Exemplu

#include using namespace 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}

Continuăm cu acest articol despre Scope Resolution Operator în C ++

În caz de moștenire multiplă

Dacă aveți două clase părinte cu aceleași nume de variabile și le moșteniți pe ambele în clasa copil, atunci puteți utiliza operatorul de rezoluție a domeniului cu numele clasei pentru a accesa variabilele individuale.

În exemplul de mai jos, creăm două clase părinte Parent1 și Parent2 și ambele au variabile num. Când le moștenim pe amândouă în clasa Child, putem accesa ambele variabile num folosind numele clasei și operatorul de rezoluție scop.

Exemplu

#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 } 

Ieșire

Continuăm cu acest articol despre Scope Resolution Operator în C ++

Spațiu de nume

Să presupunem că avem două spații de nume și ambele conțin clase cu același nume. Deci, pentru a evita orice conflict, putem folosi numele spațiului de nume cu operatorul de rezoluție a domeniului. În exemplul de mai jos pe care îl folosim std :: cout .

Exemplu

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

Ieșire

Acum, după ce ați parcurs programele de mai sus, ați fi înțeles totul despre operatorul de rezoluție a domeniului în C ++. Sper că acest blog vă este informativ și cu valoare adăugată.

Acum, după ce ați executat programul de mai sus, ați fi înțeles Operatorul de rezoluție Scope în C ++. Astfel am ajuns la sfârșitul acestui articol despre „Quicksort în Java”. Dacă doriți să aflați mai multe, consultați Java Training de la Edureka, o companie de învățare online de încredere. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate Java, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom răspunde cât mai curând posibil.