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

ตัวแปรสแตติกในฟังก์ชันสมาชิกทำงานใน C ++ อย่างไร


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

โปรแกรมที่แสดงตัวแปรสแตติกในฟังก์ชันสมาชิกในภาษา C++ มีดังต่อไปนี้

ตัวอย่าง

#include <iostream>
using namespace std;
class Base {
   public :
   int func() {
      static int a;
      static int b = 12;
      cout << "The default value of static variable a is: " << a;
      cout << "\nThe value of static variable b is: " << b;
   }
};
int main() {
   Base b;
   b.func();
   return 0;
}

ผลลัพธ์

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

The default value of static variable a is: 0
The value of static variable b is: 12

ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน

ฟังก์ชั่นสมาชิก func() ในคลาส Base มีตัวแปรคงที่สองตัว a และ b ค่าเริ่มต้นของ a คือ 0 และค่าของ b คือ 12 จากนั้นค่าเหล่านี้จะปรากฏขึ้น ข้อมูลโค้ดที่แสดงเป็นดังนี้

class Base {
   public :
   int func() {
      static int a;
      static int b = 12;
      cout << "The default value of static variable a is: " << a;
      cout << "\nThe value of static variable b is: " << b;
   }
};

ในฟังก์ชัน main() วัตถุ b ของคลาส Base จะถูกสร้างขึ้น จากนั้นจะเรียกฟังก์ชัน func() ข้อมูลโค้ดที่แสดงเป็นดังนี้

int main() {
   Base b;
   b.func();
   return 0;
}