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