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

การกำหนดสมาชิกแบบคงที่ใน C++


สมาชิกสแตติกในคลาสใน C++ สามารถกำหนดได้โดยใช้คีย์เวิร์ดคงที่ มีเพียงหนึ่งสำเนาของสมาชิกคลาสคงที่ในหน่วยความจำ โดยไม่คำนึงถึงจำนวนของอ็อบเจ็กต์ของคลาส ดังนั้นสมาชิกแบบคงที่จึงถูกแชร์โดยอ็อบเจ็กต์คลาสทั้งหมด

สมาชิกคลาสสแตติกถูกกำหนดค่าเริ่มต้นเป็นศูนย์เมื่ออ็อบเจ็กต์แรกของคลาสถูกสร้างขึ้น หากไม่ได้เริ่มต้นด้วยวิธีอื่นใด

โปรแกรมที่แสดงให้เห็นถึงคำจำกัดความของสมาชิกคลาสคงที่จะได้รับดังนี้ -

ตัวอย่าง

#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<<"\nThe number of objects are: "<<Point::count;

   return 0;
}

ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้ −

The point is (10,5)
The point is (7,9)
The point is (1,2)

The number of objects are: 3

ตอนนี้ให้เราเข้าใจโปรแกรมข้างต้น

class Point มีสมาชิกข้อมูล 2 ตัว x และ y ที่ประกอบเป็นจุด นอกจากนี้ยังมีการนับสมาชิกแบบคงที่ที่ตรวจสอบจำนวนวัตถุที่สร้างจากคลาสพอยต์ ตัวสร้าง 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 อ็อบเจ็กต์ที่สร้างจาก class Point จากนั้นค่าของวัตถุเหล่านี้จะแสดงขึ้นโดยการเรียกใช้ฟังก์ชัน display() จากนั้นค่าการนับจะปรากฏขึ้น ข้อมูลโค้ดที่แสดงเป็นดังนี้ -

Point p1(10,5);
Point p2(7,9);
Point p3(1,2);

p1.display();
p2.display();
p3.display();

cout<<"\nThe number of objects are: "<<Point::count;