ฟังก์ชัน Static Member ใน C ++ คืออะไร?

บทความนี้จะให้ความรู้โดยละเอียดและครอบคลุมเกี่ยวกับฟังก์ชันสมาชิกแบบคงที่ใน C ++ พร้อมตัวอย่าง

Static เป็นคีย์เวิร์ดใน C และ C ++ ซึ่งใช้เพื่อประกาศตัวแปรชนิดพิเศษหรือฟังก์ชันภายในหรือภายนอกคลาส ในโพสต์นี้เราจะทำความเข้าใจสั้น ๆ เกี่ยวกับแนวคิดของตัวแปรสมาชิกแบบคงที่และฟังก์ชันสมาชิกแบบคงที่ใน c ++ และเปรียบเทียบกับตัวแปรและฟังก์ชันปกติตามลำดับต่อไปนี้:



ฟังก์ชัน fibonacci c ++

ตัวแปรสมาชิกแบบคงที่

ตัวแปรที่จัดประเภทเป็นแบบคงที่ยังเป็นส่วนหนึ่งของ C. สมมติว่าในฟังก์ชันมีตัวแปร 2 ตัวแปรตัวหนึ่งเป็นตัวแปรปกติและอีกตัวแปรหนึ่งเป็นตัวแปรคงที่ ตัวแปรปกติถูกสร้างขึ้นเมื่อมีการเรียกใช้ฟังก์ชันและขอบเขตถูก จำกัด ในขณะที่ตัวแปรคงถูกสร้างขึ้นครั้งเดียวและถูกทำลายเมื่อสิ้นสุดโปรแกรม ตัวแปรเหล่านี้มีอายุการใช้งานตลอดโปรแกรม



#include โดยใช้ namespace std void Test () {static int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

เอาท์พุต:

static-member-variables-1



จากผลลัพธ์ข้างต้นเราสามารถสรุปได้ว่าทุกครั้งที่ฟังก์ชัน Test () ถูกเรียกว่าสำเนาของตัวแปร ‘y’ ถูกสร้างขึ้นในขณะที่มีการใช้สำเนาตัวแปร ‘x’ เดียวกันทุกครั้งที่เรียกฟังก์ชัน Test ()

ตอนนี้เรามาพูดถึงลักษณะของตัวแปรคงที่

  1. ตัวแปรคงเริ่มต้นเป็น 0 เริ่มต้นเพียงครั้งเดียว



  2. ตลอดทั้งโปรแกรมจะมีการสร้างเพียงสำเนาเดียวของตัวแปรสมาชิกแบบคงที่สำหรับทั้งคลาสดังนั้นตัวแปรสมาชิกแบบคงที่จึงเรียกอีกอย่างว่าตัวแปรคลาส แชร์โดยอินสแตนซ์ทั้งหมดของคลาส

  3. ตัวแปรสมาชิกแบบคงที่สามารถมองเห็นได้เฉพาะในคลาส แต่อายุการใช้งานจะสิ้นสุดลง

ลองพิจารณาตัวอย่างของตัวแปรสมาชิกคงที่ในชั้นเรียน

#include ใช้เนมสเปซคลาส std ตัวอย่าง {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

เอาท์พุต:

จากผลลัพธ์ด้านบนเราจะเห็นว่าตัวแปร 'x' ถูกแชร์กับออบเจ็กต์ทั้งหมด เพื่อทำความเข้าใจแนวคิดของตัวแปรข้อมูลคงที่โดยละเอียดเราสามารถนึกถึงห้องสมุดที่มีหนังสือหลายเล่มวางอยู่บนชั้นวางต่างๆ พิจารณาว่าห้องสมุดเป็นชั้นเรียนตำแหน่งของหนังสือเล่มหนึ่ง 'x' เป็นตัวแปรสมาชิกคงที่และนักเรียนเป็นวัตถุของชั้นเรียน เมื่อนักเรียนคนแรกมาถึงเขาวาง 'x' ไว้ที่ตำแหน่งใหม่แล้วเมื่อนักเรียนคนอื่นมาถึง 'x' จะไม่กลับไปที่ตำแหน่งเดิม แต่จะยังคงอยู่ในตำแหน่งที่นักเรียนคนแรกทิ้ง

ฟังก์ชั่นสมาชิกแบบคงที่ใน C ++

เช่นเดียวกับตัวแปรสมาชิกแบบคงที่เรามีฟังก์ชันสมาชิกแบบคงที่ซึ่งใช้เพื่อวัตถุประสงค์เฉพาะ ในการสร้างฟังก์ชันสมาชิกแบบคงที่เราจำเป็นต้องใช้คำสำคัญแบบคงที่ในขณะที่ประกาศฟังก์ชัน เนื่องจากตัวแปรสมาชิกแบบคงที่เป็นคุณสมบัติของคลาสและไม่ใช่คุณสมบัติของอ็อบเจ็กต์ในการเข้าถึงเราจำเป็นต้องใช้ชื่อคลาสแทนชื่ออ็อบเจ็กต์

คุณสมบัติของฟังก์ชันสมาชิกคงที่:

  1. ฟังก์ชันคงที่สามารถเข้าถึงตัวแปรคงที่หรือฟังก์ชันอื่น ๆ ที่มีอยู่ในคลาสเดียวกันเท่านั้น

  2. ฟังก์ชันสมาชิกแบบคงที่ถูกเรียกโดยใช้ชื่อคลาส ไวยากรณ์ -class_name :: function_name ()

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

#include ใช้เนมสเปซคลาส std ตัวอย่าง {static int Number int n public: void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

จากผลลัพธ์ด้านบนเราจะเห็นว่าค่าของตัวแปร ‘n’ นั้นแตกต่างกันสำหรับทั้งอ็อบเจกต์ ‘example1’ และ ‘example2’ ของคลาส ‘Example’ เนื่องจากตัวแปร 'Number' เป็นตัวแปรคลาสค่าจึงเหมือนกันสำหรับทั้งออบเจ็กต์ 'example1' และ 'example2' ตัวแปรและฟังก์ชันสมาชิกแบบคงที่ถูกใช้เมื่อต้องใช้ค่าร่วมกันระหว่างวัตถุทั้งหมด ในขณะที่เขียนโปรแกรมควรใช้คำหลักแบบคงที่อย่างชาญฉลาด

ด้วยเหตุนี้เราจึงมาถึงตอนท้ายของบทความนี้เกี่ยวกับฟังก์ชัน Static member ใน c ++ หากคุณต้องการเรียนรู้เพิ่มเติมโปรดดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring

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