C ++เกมส์

C++ HOME บทนำ C++ C++ เริ่มต้นใช้งาน ไวยากรณ์ C++ เอาต์พุต C++ ความคิดเห็น C++ ตัวแปร C++ อินพุตผู้ใช้ C++ ประเภทข้อมูล C++ ตัวดำเนินการ C++ สตริง C++ C++ คณิตศาสตร์ C++ บูลีน เงื่อนไข C++ สวิตช์ C++ C ++ ในขณะที่วนรอบ C ++ สำหรับลูป C++ พัก/ดำเนินการต่อ อาร์เรย์ C++ การอ้างอิง C++ ตัวชี้ C++

ฟังก์ชัน C++

ฟังก์ชัน C++ พารามิเตอร์ฟังก์ชัน C++ ฟังก์ชัน C++ โอเวอร์โหลด

คลาส C++

C++ OOP C++ คลาส/วัตถุ วิธีการคลาส C ++ ตัวสร้าง C++ ตัวระบุการเข้าถึง C++ การห่อหุ้ม C++ มรดก C++ C++ Polymorphism ไฟล์ C++ ข้อยกเว้น C++

C++ วิธีการ

เพิ่มสองตัวเลข

ตัวอย่างภาษา C++

ตัวอย่างภาษา C++ คอมไพเลอร์ C++ แบบฝึกหัด C++ แบบทดสอบ C++


ตัว ระบุการเข้าถึง C++


ตัวระบุการเข้าถึง

ถึงตอนนี้ คุณค่อนข้างคุ้นเคยกับpublicคำหลักที่ปรากฏในตัวอย่างชั้นเรียนทั้งหมดของเราแล้ว:

ตัวอย่าง

class MyClass {  // The class
  public:        // Access specifier
    // class members goes here
};

publicคีย์เวิร์ดเป็นตัวระบุการเข้าถึง ตัวระบุการเข้าถึงกำหนดวิธีที่สมาชิก (แอตทริบิวต์และเมธอด) ของคลาสสามารถเข้าถึงได้ ในตัวอย่างข้างต้น สมาชิกคือpublic- ซึ่งหมายความว่าสามารถเข้าถึงและแก้ไขได้จากภายนอกโค้ด

แต่ถ้าเราต้องการให้สมาชิกมีความเป็นส่วนตัวและซ่อนตัวจากโลกภายนอกล่ะ?

ใน C ++ มีตัวระบุการเข้าถึงสามตัว:

  • public- สมาชิกสามารถเข้าถึงได้จากนอกชั้นเรียน
  • private- สมาชิกไม่สามารถเข้าถึง (หรือดู) จากนอกชั้นเรียน
  • protected- สมาชิกไม่สามารถเข้าถึงได้จากภายนอกชั้นเรียน แต่สามารถเข้าถึงได้ในชั้นเรียนที่สืบทอดมา คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับการสืบทอดในภายหลัง

ในตัวอย่างต่อไปนี้ เราแสดงให้เห็นความแตกต่างระหว่างpublicและprivateสมาชิก:

ตัวอย่าง

class MyClass {
  public:    // Public access specifier
    int x;   // Public attribute
  private:   // Private access specifier
    int y;   // Private attribute
};

int main() {
  MyClass myObj;
  myObj.x = 25;  // Allowed (public)
  myObj.y = 50;  // Not allowed (private)
  return 0;
}

หากคุณพยายามเข้าถึงสมาชิกส่วนตัว จะเกิดข้อผิดพลาด:

error: y is private

หมายเหตุ:เป็นไปได้ที่จะเข้าถึงสมาชิกส่วนตัวของคลาสโดยใช้วิธีการสาธารณะภายในคลาสเดียวกัน ดูบทต่อไป ( การ ห่อหุ้ม ) เกี่ยวกับวิธีการทำเช่นนี้

เคล็ดลับ:การประกาศแอตทริบิวต์คลาสของคุณเป็นแบบส่วนตัวถือเป็นวิธีปฏิบัติที่ดี (บ่อยเท่าที่คุณจะทำได้) วิธีนี้จะช่วยลดโอกาสที่ตัวคุณเอง (หรือคนอื่นๆ) จะทำให้โค้ดยุ่งเหยิง นี่ยังเป็นส่วนประกอบหลักของแนวคิดการห่อหุ้ม อีกด้วย ซึ่งคุณจะได้เรียนรู้เพิ่มเติมในบทต่อไป

หมายเหตุ:โดยค่าเริ่มต้น สมาชิกทุกคนในชั้นเรียนคือprivateถ้าคุณไม่ระบุตัวระบุการเข้าถึง:

ตัวอย่าง

class MyClass {
  int x;   // Private attribute
  int y;   // Private attribute
};