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