C ++에서 범위 확인 연산자를 가장 잘 활용하는 방법은 무엇입니까?



이 기사에서는 C ++의 범위 확인 연산자를 소개하고 자세한 이해를 위해 프로그래밍 방식 데모를 따릅니다.

이름에서 알 수 있듯이 범위 확인 연산자는 변수 범위로 인해 숨겨진 이름을 가져 오는 데 사용되므로 계속 사용할 수 있습니다. 이 기사에서는 C ++에서 범위 확인 연산자를 사용하는 방법과 다른 목적이 무엇인지 이해합니다. .

C ++에서 범위 확인 연산자는 ::입니다. C ++의 범위 확인 연산자는 다음에 사용할 수 있습니다.





이제 예제를 통해 각 목적을 하나씩 이해해 보겠습니다.

로컬 변수가있을 때 전역 변수에 액세스 같은 이름

동일한 이름의 로컬 변수가있는 경우 범위 확인 연산자를 사용하여 전역 변수에 액세스 할 수 있습니다. 아래 예제에는 전역 및 로컬 범위를 가진 이름 num이라는 두 개의 변수가 있습니다. 따라서 기본 클래스의 전역 num 변수에 액세스하려면 범위 확인 연산자 (예 : :: num)를 사용해야합니다.



#include using namespace std int num = 30 // 전역 변수 초기화 num int main () {int num = 10 // 지역 변수 초기화 num cout<< 'Value of global num is ' << ::num cout << 'nValue of local num is ' << num return 0 } 

산출

C ++의 범위 확인 연산자에 대한이 문서로 이동



클래스 외부에서 함수 정의

클래스에서 함수를 선언 한 다음 나중에 클래스 외부에서 정의하려는 경우 범위 확인 연산자를 사용하여이를 수행 할 수 있습니다. 아래 예제에서는 Class Bike에서 Speed ​​함수를 선언합니다. 나중에 우리는 범위 해결 연산자를 사용하여 메인 클래스에서 함수를 정의합니다.

#include using namespace std class Bike {public : // 함수 선언 만 void Speed ​​()} // :: void Bike :: Speed ​​() {cout를 사용하여 Bike 클래스 외부의 Speed ​​함수 정의<< 'Speed of Bike is 90 KMPH' } int main() { Bike bike bike.Speed() return 0 } 

산출

C ++의 범위 확인 연산자에 대한이 문서로 이동

클래스의 정적 액세스 변수

클래스 이름 및 범위 확인 연산자 (예 : class_name :: static_variable)를 사용하여 클래스의 정적 변수에 액세스 할 수 있습니다. 아래 예제에서 볼 수 있듯이 클래스에서 정적 변수를 선언하고 있습니다. 범위 확인 연산자를 사용하여 클래스 외부의 변수를 정의하고 있습니다. 그런 다음 클래스 이름 및 범위 확인 연산자를 사용하여 액세스합니다.

html로 알림을 만드는 방법

#include using namespace std class Try {static int num1 public : static int num2 // Local parameter hides class member // Class member can be access it using :: void function (int num1) {// num1 static variable can be access using :: // 지역 변수 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 } 

산출

C ++의 범위 확인 연산자에 대한이 문서로 이동

다른 클래스 내부의 클래스 참조

두 클래스에서 동일한 변수 이름으로 중첩 클래스를 만들 수 있습니다. 범위 확인 연산자를 사용하여 두 변수에 모두 액세스 할 수 있습니다. 내부 클래스 변수의 경우 다음을 사용해야합니다. Outer_Class :: Inner_Class :: 변수.

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

C ++의 범위 확인 연산자에 대한이 문서로 이동

여러 상속인 경우

동일한 변수 이름을 가진 두 개의 부모 클래스가 있고 자식 클래스에서 둘 다 상속하는 경우 클래스 이름과 함께 범위 확인 연산자를 사용하여 개별 변수에 액세스 할 수 있습니다.

아래 예제에서는 두 개의 부모 클래스 Parent1 및 Parent2를 만들고 있으며 둘 다 변수 num을 갖습니다. Child 클래스에서 둘 다 상속 할 때 클래스 이름 및 범위 확인 연산자를 사용하여 num 변수에 모두 액세스 할 수 있습니다.

#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 { 공개 : void function () {cout<< 'Parent1's num is ' << Parent1::num cout << 'nParent2's num is ' << Parent2::num } } int main() { Child obj obj.function() return 0 } 

산출

C ++의 범위 확인 연산자에 대한이 문서로 이동

네임 스페이스

두 개의 네임 스페이스가 있고 둘 다 동일한 이름의 클래스를 포함한다고 가정합니다. 따라서 충돌을 피하기 위해 범위 확인 연산자와 함께 네임 스페이스 이름을 사용할 수 있습니다. 아래 예에서 우리는 std :: cout .

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

산출

이제 위의 프로그램을 살펴보면 C ++의 범위 확인 연산자에 대한 모든 것을 이해했을 것입니다. 이 블로그가 유익하고 가치가 있기를 바랍니다.

이제 위의 프로그램을 실행 한 후 C ++의 Scope Resolution Operator를 이해했을 것입니다. 따라서 우리는 '자바의 Quicksort'에 대한이 기사의 끝까지 왔습니다. 자세한 내용은 신뢰할 수있는 온라인 학습 회사 인 Edureka의 Java Training을 확인하십시오. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.