คลาสใน 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;
}