Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับจำนวนอ็อบเจ็กต์โดยใช้ฟังก์ชันสมาชิกแบบคงที่ใน C++


ในที่นี้เราจะมาดูวิธีการนับจำนวนอ็อบเจ็กต์ที่สร้างจากคลาสเฉพาะโดยใช้ฟังก์ชันของสมาชิกสแตติก สมาชิกสแตติกเป็นคุณสมบัติของคลาส ไม่ใช่คุณสมบัติของอ็อบเจ็กต์ สำหรับคลาสเดียวจะมีเพียงอินสแตนซ์เดียวสำหรับสมาชิกสแตติก ไม่มีการสร้างสมาชิกใหม่สำหรับแต่ละวัตถุ

ในปัญหานี้ เราใช้ตัวแปรตัวนับคงที่ตัวหนึ่งเพื่อติดตามจำนวนวัตถุ จากนั้นสมาชิกแบบคงที่จะอยู่ที่นั่นเพื่อแสดงค่าการนับ

เมื่อวัตถุใหม่ถูกสร้างขึ้น ตัวสร้างจะถูกเรียก ภายในตัวสร้าง ค่าการนับจะเพิ่มขึ้น เราจะได้ผลลัพธ์ที่ได้

ตัวอย่าง

#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