Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 정적 멤버 함수를 사용하여 개체 수 계산

<시간/>

여기서 우리는 몇 가지 정적 멤버 함수를 사용하여 특정 클래스에서 생성된 객체의 수를 계산하는 방법을 볼 것입니다. 정적 멤버는 개체 속성이 아니라 클래스 속성입니다. 단일 클래스의 경우 정적 멤버에 대한 인스턴스는 하나만 있습니다. 각 개체에 대해 새 구성원이 생성되지 않습니다.

이 문제에서 우리는 하나의 정적 카운터 변수를 사용하여 개체 수를 추적하고 정적 멤버가 countvalue를 표시하기 위해 거기에 있을 것입니다.

새 객체가 생성되면 생성자가 호출됩니다. 생성자 내부에서 count 값이 증가합니다. 따라서 출력을 얻을 수 있습니다.

예시

#include <iostream>
using namespace std;
class My_Class{
   private:
      static int count;
   public:
      My_Class() { //in constructor increase the count value
         cout << "Calling Constructor" << endl;
         count++;
      } static int objCount() {
         return count;
      }
   };
int My_Class::count;
main() {
   My_Class my_obj1, my_obj2, my_obj3;
   int cnt;
   cnt = My_Class::objCount();
   cout << "Number of objects:" << cnt;
}

출력

Calling Constructor
Calling Constructor
Calling Constructor
Number of objects:3