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

นับจำนวน Object ด้วย Static Member Function ใน C++


ที่นี่เราจะดูวิธีนับจำนวน Object ที่ถูกสร้างจากคลาสเฉพาะ โดยใช้ Static Member Functions Static Members เป็นคุณสมบัติของคลาส (Class Properties) ไม่ใช่ของออบเจ็กต์ สำหรับคลาสเดียว จะมี Instance ของ Static Member เพียงหนึ่งเดียว ไม่มี Member ใหม่สร้างขึ้นสำหรับแต่ละ Object

ในปัญหานี้ เราใช้ตัวแปร Static Counter เพื่อติดตามจำนวน Object แล้ว Static Member Function จะแสดงค่า Count

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

ตัวอย่าง

#include <iostream> using namespace std; class My_Class{    private:       static int count;    public:       My_Class() { //ใน Constructor เพิ่มค่า Count          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