Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

สมาชิกส่วนตัวและได้รับการคุ้มครองใน C++


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