วิธีจำลอง super Keyword ใน C++

Withi Calxng Super Keyword Ni C



ภาษาการเขียนโปรแกรมเชิงวัตถุบางภาษามีคีย์เวิร์ด 'super' ซึ่งทำให้คลาสย่อยสามารถเรียกใช้ฟังก์ชันและสมาชิกของคลาสฐานหรือพาเรนต์ได้ ภาษาโปรแกรมบางภาษากำหนดว่าควรใช้คีย์เวิร์ด 'super' อย่างไรโดยเฉพาะ แต่ในกรณีของ C++ จะไม่มีการใช้ super คำหลักในลักษณะเดียวกับใน Java และ Python ในบทช่วยสอนนี้ เราจะศึกษาและสาธิตการจำลอง super keywords ใน C++

วิธีจำลอง super Keyword ใน C++

คำหลักที่เรียกว่า 'super' ไม่ได้กำหนดไว้ล่วงหน้าในคอมไพเลอร์ C ++ การสืบทอดและการแทนที่ฟังก์ชันใช้เพื่อพัฒนาคลาสย่อยที่รับสมาชิกและวิธีการของซูเปอร์คลาส เพียงระบุตัวระบุของ 'ซูเปอร์คลาส' และสมาชิกหรือวิธีการที่คุณต้องการเข้าถึงด้วยตัวดำเนินการ (::)







ไวยากรณ์

คุณสามารถเข้าถึงเมธอดในซูเปอร์คลาสชื่อ “parent_class” ที่มีชื่อเหมือน “parent_function()” ในคลาสย่อยได้โดยใช้ไวยากรณ์ที่แสดงด้านล่าง:



parent_class::parent_function ( ) ;



ตัวอย่าง

การใช้ C++ เพื่อจำลองการทำงานของคำหลักขั้นสูงเพื่อเข้าถึงคุณสมบัติของคลาสพาเรนต์ ให้ใช้ตัวดำเนินการแก้ไขขอบเขต (::)





สามารถใช้ตัวดำเนินการแก้ไขขอบเขต (::) เพื่อรับสมาชิกของคลาสพาเรนต์เมื่อใดก็ตามที่คลาสสืบทอดมา พิจารณารหัสต่อไปนี้เป็นตัวอย่าง:

#รวมถึง
ใช้เนมสเปซ std;

คลาส base_Class {
สาธารณะ:
โมฆะ baseFunction ( ) {
ศาล << 'นี่คือผลลัพธ์ของ baseFunction จากคลาสพื้นฐาน' << ท้าย;
}
} ;
คลาส derieved_Class: คลาสฐานสาธารณะ {
สาธารณะ:
เป็นโมฆะ dFunction ( ) {
base_Class::baseFunction ( ) ;
ศาล << 'นี่คือคลาสที่ได้รับซึ่งเข้าถึง baseFunction จากคลาสพื้นฐาน' << ท้าย;
}
} ;
int หลัก ( ) {
derieved_Class d;
d.dFunction ( ) ;
กลับ 0 ;
}


โปรแกรมด้านบนมีฟังก์ชันจากคลาสฐานหรือคลาสหลัก baseFunction() มีการกำหนดคลาสที่ได้รับอื่นซึ่งกำลังเข้าถึง baseFunction() ใน dFunction() วิธีหลักคือการสร้างอินสแตนซ์ของคลาสที่ได้รับและเรียก dFunction() ซึ่งกำลังพิมพ์เอาต์พุตของทั้ง baseFunction() และ dFunction()



บทสรุป

แม้ว่าคีย์เวิร์ด “super” จะไม่มีอยู่ใน C++ โดยตรง แต่สามารถเลียนแบบลักษณะการทำงานได้โดยการรวมการสืบทอดและการแทนที่ฟังก์ชันเข้าด้วยกัน เราสามารถเรียกและใช้เมธอดหรือสมาชิกของซูเปอร์คลาสได้สำเร็จโดยการเรียกใช้ฟังก์ชันของซูเปอร์คลาสก่อนที่จะดำเนินการต่อไปยังคลาสย่อย โพสต์นี้ยังให้ตัวอย่างของรหัส C ++ เพื่อความเข้าใจที่ดีขึ้นของคุณ