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

ความแตกต่างระหว่าง private, public, protected ใน C++


Data hiding เป็นคุณสมบัติสำคัญของ OOP ป้องกันไม่ให้ฟังก์ชันภายนอกเข้าถึงข้อมูลภายในคลาสโดยตรง การจำกัดการเข้าถึงกำหนดด้วย access modifiers 3 ระดับ:

ค่าเริ่มต้น (default) ของ member และ class คือ private

ตัวอย่างโครงสร้างคลาส

class Base {
public:
    // public members
protected:
    // protected members
private:
    // private members
};

รายละเอียดแต่ละระดับ

  • public: เข้าถึงได้จากทุกที่ในโปรแกรม (นอกคลาสด้วย) สามารถ set/get ค่าโดยตรง
  • private: เข้าถึงไม่ได้จากนอกคลาส เห็นไม่ได้ แก้ไม่ได้ เฉพาะคลาสเองและ friend functions เท่านั้น
  • protected: คล้าย private แต่เพิ่มสิทธิ์: เข้าถึงได้ใน derived classes (คลาสลูก) ด้วย