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