คลาสใน C++ มีส่วนสาธารณะ ส่วนตัว และส่วนที่ได้รับการป้องกันซึ่งมีสมาชิกของคลาสที่เกี่ยวข้อง สมาชิกที่ได้รับการคุ้มครองในชั้นเรียนคล้ายกับสมาชิกส่วนตัวเนื่องจากไม่สามารถเข้าถึงได้จากภายนอกชั้นเรียน แต่สามารถเข้าถึงได้โดยคลาสที่ได้รับหรือคลาสย่อยในขณะที่สมาชิกส่วนตัวไม่สามารถทำได้
โปรแกรมที่แสดงการเข้าถึงข้อมูลที่ได้รับการป้องกันสมาชิกในคลาสที่ได้รับใน C++ จะได้รับดังนี้ -
ตัวอย่าง
#include <iostream> using namespace std; class Base { protected : int num = 7; }; class Derived : public Base { public : void func() { cout << "The value of num is: " << num; } }; int main() { Derived obj; obj.func(); return 0; }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
The value of num is: 7
ตอนนี้ เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
ในคลาส Base สมาชิกข้อมูลคือ num ซึ่งได้รับการป้องกัน คลาส Derived สืบทอดคลาส Base ฟังก์ชั่น func() พิมพ์ค่าของ num ข้อมูลโค้ดสำหรับสิ่งนี้มีดังต่อไปนี้
class Base { protected : int num = 7; }; class Derived : public Base { public : void func() { cout << "The value of num is: " <<< num; } };
ในฟังก์ชัน main() วัตถุ obj ของคลาส Derived จะถูกสร้างขึ้น จากนั้นจะเรียกฟังก์ชัน func() ข้อมูลโค้ดสำหรับสิ่งนี้มีดังต่อไปนี้
int main() { Derived obj; obj.func(); return 0; }