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