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