정적 메서드 C++

Jeongjeog Meseodeu C



C++의 메서드는 함수라고도 하며 C++에서 메서드를 사용하면 모듈식 프로그래밍 및 코드 재사용성 개념이 촉진됩니다. 한 번 작성된 메서드를 매번 작성할 필요 없이 필요한 만큼 반복적으로 호출할 수 있음을 의미합니다. 이러한 메서드에는 다음과 같은 세 가지 기본 속성이 있습니다.
  • 정적 메서드는 개체를 만들지 않고 클래스 이름과 범위 결정 연산자를 사용하여 직접 검색할 수 있습니다.
  • 클래스의 정적 메서드는 해당 클래스의 정적 멤버에만 액세스할 수 있습니다.
  • 정적 메서드는 클래스의 비정적 멤버에 액세스할 수 없습니다.

Ubuntu 20.04에서 C++의 정적 메서드 사용법을 알려주기 위해 이 문서를 디자인했습니다.

Ubuntu 20.04에서 C++의 정적 메서드 사용

Ubuntu 20.04에서 C++의 정적 메서드를 사용하려면 먼저 아래 제공된 모든 예제를 살펴보고 이러한 함수가 C++에서 어떻게 작동하는지 잘 이해해야 합니다.







예제 # 1: C++에서 정적 메서드의 첫 번째 속성 탐색

이 예제에서는 C++에서 정적 메서드의 첫 번째 속성을 탐색하려고 합니다. 클래스의 정적 메서드는 범위 결정 연산자를 사용하는 동안 클래스 이름으로 직접 액세스할 수 있습니다. 이를 위해 다음 이미지에 표시된 C++ 스크립트를 작성했습니다.



  정적 메서드 C++



이 C++ 스크립트에서 'Number'라는 클래스를 정의했습니다. 이 클래스의 본문에는 하나의 공용 함수만 있습니다. 우리는 이 함수를 '정적'으로 선언했습니다. 이 함수의 이름은 ' 인쇄 번호 ”, 숫자 “n”을 유일한 매개변수로 사용합니다. 이 함수 내에서 우리는 단순히 이 전달된 숫자의 값을 터미널에 출력하기를 원합니다. 보시다시피 이 클래스에 대한 생성자를 정의하지 않았습니다. 이것은 우리가 객체를 생성할 의도가 없음을 의미합니다. 대신 이 클래스의 기능에 직접 액세스할 것입니다.





이제 ' 기본() ” 기능, 우리는 “ 인쇄 번호 ” 클래스 이름과 범위 결정 연산자의 도움으로 “Number” 클래스의 기능. 이 함수를 호출하는 동안 임의의 숫자, 즉 25를 전달했습니다. 기본() ” 함수는 정수 반환 유형을 갖도록 선언했기 때문에 “return 0” 문으로 마무리됩니다.

이 C++ 스크립트를 컴파일하고 실행했을 때 아래 이미지와 같이 번호가 터미널에 올바르게 인쇄되었습니다. 이는 C++의 정적 메서드의 첫 번째 속성이 충족되었음을 의미합니다. 정적 메서드는 객체를 생성하지 않고 클래스 이름으로 직접 액세스할 수 있으며 의도한 대로 정확하게 작동합니다.



  C++의 정적 메서드

예제 # 2: C++에서 정적 메서드의 두 번째 속성 탐색

이 예제에서는 C++에서 정적 메서드의 두 번째 속성을 탐색하려고 합니다. 클래스의 정적 메서드는 해당 클래스의 정적 멤버에만 액세스할 수 있습니다. 이를 위해 다음 이미지에 표시된 C++ 스크립트를 작성했습니다.

이 C++ 스크립트에서 먼저 'Number'라는 클래스를 정의했습니다. 이 클래스의 본문 내부에는 정수 데이터 유형인 개인 멤버 'x'가 있으며 이를 정적으로 만들었습니다. 그러면 공용 기능이 하나만 있습니다. 우리는 이 함수를 ' 공전 '. 이 함수의 이름은 ' 인쇄 번호 ”, 숫자 “n”을 유일한 매개변수로 사용합니다. 이 함수 내에서 터미널에 전달된 이 숫자의 값과 정적 멤버 'x'의 값을 출력하려고 합니다.

그런 다음 'static' 키워드를 다시 사용하지 않고 클래스 외부의 클래스 이름을 사용하여 정적 멤버 'x'를 값 '10'으로 초기화했습니다. 이제 ' 기본() ” 기능, 우리는 “ 인쇄 번호 ” 클래스 이름과 범위 결정 연산자의 도움으로 “Number” 클래스의 기능. 이 함수를 호출하는 동안 임의의 숫자, 즉 25를 전달했습니다. 기본() ” 함수는 정수 반환 유형을 갖도록 선언했기 때문에 “return 0” 문으로 마무리됩니다.

이 C++ 스크립트를 컴파일하고 실행하면 아래 이미지와 같이 숫자와 변수 'x'의 값이 터미널에 올바르게 인쇄되었습니다. 이는 C++에서 정적 메서드의 두 번째 속성이 충족되었음을 의미합니다. 정적 메서드는 C++에서 클래스의 정적 멤버에만 액세스할 수 있습니다.

예제 # 3: C++에서 정적 메서드의 세 번째 속성 탐색

이 예에서 우리는 C++에서 정적 메서드의 세 번째 속성을 살펴보고자 합니다. 사실 이것은 두 번째 속성을 나타내는 다른 방법입니다. 정적 메서드는 클래스의 비정적 멤버에 액세스할 수 없습니다. 이를 위해 다음 이미지에 표시된 C++ 스크립트를 작성했습니다.

이 C++ 스크립트는 두 번째 예제에 표시된 스크립트와 정확히 같습니다. 그러나 유일한 차이점은 이번에는 변수 'x'를 정적으로 선언하지 않았다는 것입니다.

이 C++ 스크립트를 컴파일하고 실행했을 때 터미널에 아래 이미지와 같은 오류 메시지가 생성되었습니다. 'x' 값은 C++의 정적 메서드로 액세스할 수 없습니다. 이는 C++에서 정적 메서드의 세 번째 속성이 충족되었음을 의미합니다. 즉, 정적 메서드는 C++에서 클래스의 비정적 멤버에 액세스할 수 없습니다.

예제 # 4: C++에서 정적 메서드를 사용하여 연속 롤 번호 생성

이 예제에서는 예제를 마무리하여 정적 메서드가 C++에서 어떻게 작동하는지에 대한 전반적인 보기를 제공하고자 했습니다. 제공된 범위 내에서 일부 롤 번호를 생성하는 프로그램을 만들 것입니다. 이를 위해 다음 이미지에 표시된 C++ 스크립트를 작성했습니다.

이 C++ 스크립트에는 'RollNumber'라는 클래스가 있습니다. 이 클래스 내에는 정수 데이터 유형의 전용 정적 멤버 'RollNum'이 있습니다. 그런 다음 공개 정적 메서드가 있습니다. getRollNum() ”를 정수 반환 유형으로 사용합니다. 이 클래스의 정의 밖에서 'RollNum' 변수를 값 '1'로 초기화하고 ' getRollNum() ” 함수도 호출될 때마다 증가된 “RollNum”을 반환합니다.

그런 다음 ' 기본() ” 함수에는 '0'에서 '9'까지 카운터 변수를 통해 반복되는 'for' 루프가 있으며 이는 10회 반복됩니다. 이 루프 내에서 '에 의해 반환된 값을 인쇄하려고 합니다. getRollNum() ” 모든 반복에 대한 기능. 다시, “ 기본() ” 함수는 “return 0” 문으로 마무리됩니다.

이 C++ 스크립트를 컴파일하고 실행하면 다음 이미지와 같이 일련의 10가지 롤 번호가 터미널에 생성됩니다.

결론

이 기사의 목표는 Ubuntu 20.04에서 C++의 정적 메서드 사용법을 가르치는 것이었습니다. 우리는 이러한 메서드의 기본 속성을 공유한 다음 이러한 메서드가 C++에서 어떻게 작동하는지 즉시 배울 수 있는 네 가지 예제를 공유했습니다. 이러한 예제를 이해하면 C++의 정적 메서드에 대한 좋은 명령을 쉽게 얻을 수 있습니다. 이 기사가 도움이 되었기를 바라며 더 많은 정보를 얻으려면 Linux Hint를 확인하십시오.