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:
- Dostęp do zmiennej globalnej, gdy istnieje zmienna lokalna o tej samej nazwie
- Definiowanie funkcji poza klasą
- Dostęp do zmiennych statycznych klasy
- Odwołanie się do klasy w innej klasie
- W przypadku wielokrotnego dziedziczenia
- Przestrzeń nazw
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.