Jak najlepiej wykorzystać operator rozpoznawania zakresu w C ++?



W tym artykule wprowadzimy Cię w zakres operatora rozpoznawania zakresu w C ++ i przejdziesz do programowej demonstracji, aby uzyskać szczegółowe zrozumienie.

Jak sama nazwa wskazuje, operator rozpoznawania zakresu służy do pobierania ukrytych nazw ze względu na zmienne zakresy, aby nadal można było ich używać. W tym artykule zrozumiemy, jak używać operatora rozpoznawania zakresu w C ++ i jakie są jego różne cele od .

W C ++ operatorem rozpoznawania zakresu jest ::. Operator rozpoznawania zakresu w C ++ może służyć do:





Teraz przyjrzyjmy się każdemu celowi jeden po drugim, korzystając z przykładów.

Dostęp do zmiennej globalnej, gdy istnieje zmienna lokalna z Takie samo imię

Możesz użyć operatora rozpoznawania zakresu, aby uzyskać dostęp do zmiennej globalnej, jeśli masz zmienną lokalną o tej samej nazwie. W poniższym przykładzie mamy dwie zmienne o nazwach num o zasięgu globalnym i lokalnym. Tak więc, aby uzyskać dostęp do globalnej zmiennej num w klasie głównej, musisz użyć operatora rozpoznawania zasięgu (tj. :: num).



Przykład

#include using namespace std int num = 30 // Inicjalizacja zmiennej globalnej num int main () {int num = 10 // Inicjalizacja zmiennej lokalnej num cout<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

Wynik

Przechodząc do tego artykułu na temat operatora rozpoznawania zakresu w C ++



Definiowanie funkcji poza klasą

Jeśli deklarujesz funkcję w klasie, a później chcesz zdefiniować ją poza klasą, możesz to zrobić za pomocą operatora rozpoznawania zakresu. W poniższym przykładzie deklarujemy funkcję Speed ​​in Class Bike. Później definiujemy funkcję w klasie głównej za pomocą operatora rozpoznawania zasięgu.

Przykład

#include using namespace std class Bike {public: // Just the Function Declaration void Speed ​​()} // Definiowanie funkcji Speed ​​poza klasą Bike przy użyciu :: void Bike :: Speed ​​() {cout<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

Wynik

Przechodząc do tego artykułu na temat operatora rozpoznawania zakresu w C ++

Dostęp do statycznej klasy zmienne

Dostęp do zmiennej statycznej klasy można uzyskać za pomocą nazwy klasy i operatora rozpoznawania zakresu (tj. Nazwa_klasy :: zmienna_statyczna). Jak widać w poniższym przykładzie, deklarujemy zmienną statyczną w klasie. Definiujemy zmienną poza klasą za pomocą operatora rozpoznawania zasięgu. Następnie uzyskujemy do niego dostęp za pomocą operatora rozpoznawania nazwy klasy i zakresu.

Przykład

#include using namespace std class Try {static int num1 public: static int num2 // Lokalny parametr ukrywa członka klasy // Dostęp do elementu klasy można uzyskać za pomocą funkcji :: void (int num1) {// num1 statycznej zmiennej można uzyskać za pomocą :: // pomimo zmiennej lokalnej 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 } 

Wynik

parse double to int java

Przechodząc do tego artykułu na temat operatora rozpoznawania zakresu w C ++

Odwołanie się do klasy w innej klasie

Możesz utworzyć zagnieżdżoną klasę o tych samych nazwach zmiennych w obu klasach. Dostęp do obu zmiennych można uzyskać za pomocą operatora rozpoznawania zakresu. W przypadku zmiennej klasy wewnętrznej musisz użyć Outer_Class :: Inner_Class :: zmienna.

Przykład

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

Przechodząc do tego artykułu na temat operatora rozpoznawania zakresu w C ++

W przypadku wielokrotnego dziedziczenia

Jeśli masz dwie klasy nadrzędne o takich samych nazwach zmiennych i obie dziedziczysz w klasie podrzędnej, możesz użyć operatora rozpoznawania zakresu z nazwą klasy, aby uzyskać dostęp do poszczególnych zmiennych.

W poniższym przykładzie tworzymy dwie klasy nadrzędne Parent1 i Parent2 i obie mają zmienną num. Kiedy dziedziczymy obie w klasie Child, możemy uzyskać dostęp do obu zmiennych num za pomocą nazwy klasy i operatora rozpoznawania zakresu.

Przykład

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

Wynik

Przechodząc do tego artykułu na temat operatora rozpoznawania zakresu w C ++

Przestrzeń nazw

Załóżmy, że mamy dwie przestrzenie nazw i obie zawierają klasę o tej samej nazwie. Aby uniknąć konfliktu, możemy użyć nazwy przestrzeni nazw z operatorem rozpoznawania zakresu. W poniższym przykładzie używamy std :: cout .

Przykład

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

Wynik

Teraz po przejrzeniu powyższych programów zrozumiałbyś wszystko o operatorze rozpoznawania zasięgu w C ++. Mam nadzieję, że ten blog jest dla Ciebie pouczający i stanowi wartość dodaną.

Teraz po wykonaniu powyższego programu zrozumiałbyś operator rozpoznawania zakresu w C ++. W ten sposób doszliśmy do końca artykułu „Szybkie sortowanie w Javie”. Jeśli chcesz dowiedzieć się więcej, zapoznaj się ze szkoleniem Java firmy Edureka, zaufanej firmie zajmującej się nauką online. Szkolenie i certyfikacja J2EE i SOA firmy Edureka ma na celu przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.