ในที่นี้เราจะมาดูวิธีการนับจำนวนอ็อบเจ็กต์ที่สร้างจากคลาสเฉพาะโดยใช้ฟังก์ชันของสมาชิกสแตติก สมาชิกสแตติกเป็นคุณสมบัติของคลาส ไม่ใช่คุณสมบัติของอ็อบเจ็กต์ สำหรับคลาสเดียวจะมีเพียงอินสแตนซ์เดียวสำหรับสมาชิกสแตติก ไม่มีการสร้างสมาชิกใหม่สำหรับแต่ละวัตถุ
ในปัญหานี้ เราใช้ตัวแปรตัวนับคงที่ตัวหนึ่งเพื่อติดตามจำนวนวัตถุ จากนั้นสมาชิกแบบคงที่จะอยู่ที่นั่นเพื่อแสดงค่าการนับ
เมื่อวัตถุใหม่ถูกสร้างขึ้น ตัวสร้างจะถูกเรียก ภายในตัวสร้าง ค่าการนับจะเพิ่มขึ้น เราจะได้ผลลัพธ์ที่ได้
ตัวอย่าง
#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