English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
static 키워드를 사용하여 정적 클래스 멤버 정의할 수 있습니다 ++클래스의 정적 멤버.
이 클래스의 첫 번째 객체를 어떻게 초기화하지 않았다면, 첫 번째 객체를 생성할 때 정적 클래스 멤버가 0으로 초기화됩니다
정적 클래스 멤버 정의를 보여주는 프로그램은 다음과 같습니다
#include <iostream> using namespace std; class Point{ int x; int y; public: static int count; Point(int x1, int y1{ x = x1; y = y1; count++; } void display(){ cout << "The point is (" << x << "," << y << ")\n"; } }; int Point::count = 0; int main(void){ Point p1(10,5); Point p2(7,9); Point p3(1,2); p1.display(); p2.display(); p3.display(); cout << "\n객체의 수는: " << Point::count; return 0; }
위 프로그램의 출력은 다음과 같습니다-
The point is (10,5) The point is (7,9) The point is (1,2) 객체의 수는: 3
이제 위의 프로그램을 이해해 보겠습니다
Point 클래스는2개의 포인트를 구성하는 데이터 멤버 x와 y가 있습니다. 또한, Point 클래스가 생성된 객체 수를 모니터링하는 정적 멤버 계산이 있습니다. 생성자Point()
x와 y의 값을 초기화한 후, 함수display()
그들의 값을 표시합니다. 이 코드 단락은 다음과 같습니다-
class Point{ int x; int y; public: static int count; Point(int x1, int y1{ x = x1; y = y1; count++; } void display(){ cout << "The point is (" << x << "," << y << ")\n"; } };
이 함수에서main()
하여 생성했습니다3개의 Point 클래스의 객체가 있습니다. 이 객체들의 값을 표시하기 위해 함수를 호출합니다display()
그런 다음, 계산 값을 표시합니다. 이 코드 단락은 다음과 같습니다-
Point p1(10,5); Point p2(7,9); Point p3(1,2); p1.display(); p2.display(); p3.display(); cout << "\n객체의 수는: " << Point::count;