C ++의 정적 멤버 함수는 무엇입니까?



이 기사에서는 예제와 함께 C ++의 정적 멤버 함수에 대한 상세하고 포괄적 인 지식을 제공합니다.

Static은 C 및 C ++의 키워드로, 클래스 내부 또는 외부에서 특수한 유형의 변수 또는 함수를 선언하는 데 사용됩니다. 이 게시물에서는 C ++의 정적 멤버 변수 및 정적 멤버 함수의 개념을 간략하게 이해하고 다음 순서로 일반 변수 및 함수와 비교합니다.

tableau 데이터 혼합 방법

정적 멤버 변수

정적 변수로 분류 된 변수도 C의 일부입니다. 함수에 2 개의 변수가 있다고 가정합니다. 하나는 일반 변수이고 다른 하나는 정적 변수입니다. 함수가 호출되고 범위가 제한되면 일반 변수가 생성됩니다. 정적 변수는 한 번 생성되고 프로그램이 끝날 때 삭제됩니다. 이러한 변수는 프로그램 전체에 걸쳐 수명이 있습니다.





#include using namespace std void Test () {static int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

산출:

static-member-variables-1



위의 출력을 보면 Test () 함수가 호출 될 때마다 변수‘y’의 복사본이 생성되고 Test () 함수가 호출 될 때마다 동일한 변수‘x’가 사용된다는 결론을 내릴 수 있습니다.

이제 정적 변수의 특성에 대해 알아 보겠습니다.

  1. 정적 변수는 0으로 초기화됩니다. 한 번만 초기화됩니다.



  2. 프로그램 전체에서 전체 클래스에 대해 정적 멤버 변수의 복사본이 하나만 생성되므로 정적 멤버 변수를 클래스 변수라고도합니다. 클래스의 모든 인스턴스에서 공유됩니다.

  3. 정적 멤버 변수는 클래스 내에서만 볼 수 있지만 수명은 프로그램이 끝날 때까지입니다.

클래스에서 정적 멤버 변수의 예를 살펴 보겠습니다.

#include using namespace std class Example {static int x public : void function1 () {x ++} void function2 () {cout<<'x = '<

산출:

위의 출력에서 ​​변수 'x'가 모든 객체에서 공유됨을 알 수 있습니다. 정적 데이터 변수의 개념을 자세히 이해하기 위해 서로 다른 선반에 여러 책이 놓여있는 도서관을 생각할 수 있습니다. 라이브러리를 클래스로, 특정 책 'x'의 위치를 ​​정적 멤버 변수로, 학생을 클래스의 대상으로 간주하십시오. 첫 학생이도착한 그는 이제 다른 학생이 도착하면‘x’를 새 위치에 배치합니다.‘x’는 원래 위치로 돌아 가지 않지만 첫 번째 학생이 떠난 곳에 남아 있습니다.

C ++의 정적 멤버 함수

정적 멤버 변수와 마찬가지로 특정 용도로 사용되는 정적 멤버 함수가 있습니다. 정적 멤버 함수를 만들려면 함수를 선언하는 동안 static 키워드를 사용해야합니다. 정적 멤버 변수는 객체 속성이 아니라 클래스 속성이므로 액세스하려면 객체 이름 대신 클래스 이름을 사용해야합니다.

C ++ 병합 정렬 코드

정적 멤버 함수의 속성 :

  1. 정적 함수는 동일한 클래스에있는 다른 정적 변수 또는 함수에만 액세스 할 수 있습니다.

  2. 정적 멤버 함수는 클래스 이름을 사용하여 호출됩니다. 통사론-class_name :: function_name ()

정적 멤버 함수의 개념을 자세히 이해하기 위해 고전적인 예를 살펴 보겠습니다. 이 예에서는 정적 멤버 함수와 관련된 모든 개념을 이해합니다.

#include using namespace std class Example {static int Number int n public : void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

위의 출력에서 ​​변수‘n’의 값이‘Example’클래스의‘example1’과‘example2’개체 모두에서 다른 것을 알 수 있습니다. 변수‘Number’는 클래스 변수이므로‘example1’및‘example2’개체의 값은 동일합니다. 정적 멤버 변수 및 함수는 모든 개체에서 공통 값을 공유 할 때 사용됩니다. 프로그래밍하는 동안 static 키워드의 사용은 현명하게 수행되어야합니다.

이것으로 우리는 C ++의 정적 멤버 함수에 대한이 기사의 끝으로 왔습니다. 자세한 내용은 다음을 확인하십시오. 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 제공합니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

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