ประกาศตัวแปรสแตติกในฟังก์ชันสมาชิกโดยใช้คีย์เวิร์ด 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;
}