สมาชิกส่วนตัวของคลาสพื้นฐานสามารถสืบทอดได้หรือไม่?

สมาชิกส่วนตัวของคลาสพื้นฐานสามารถสืบทอดได้หรือไม่?
สมาชิกส่วนตัวของคลาสพื้นฐานสามารถสืบทอดได้หรือไม่?
Anonim

สมาชิกไพรเวทของคลาสพื้นฐานนั้นสืบทอดมาจากคลาสที่ได้รับใน C++ เสมอหรือไม่ ฉันเคยเห็นทุกที่ว่า สมาชิกของคลาสพื้นฐานไม่เคยได้รับมรดกในคลาสที่ได้รับ ไม่ว่าคุณจะสืบทอดคลาสพื้นฐานอย่างไร (ส่วนตัวหรือป้องกันหรือสาธารณะ)

สมาชิกคลาสส่วนตัวสามารถสืบทอดได้หรือไม่

สมาชิกส่วนตัวในซูเปอร์คลาส

A คลาสย่อยไม่ได้รับสมาชิกส่วนตัวของคลาสหลัก อย่างไรก็ตาม หากซูเปอร์คลาสมีเมธอดสาธารณะหรือเมธอดที่มีการป้องกันสำหรับการเข้าถึงฟิลด์ไพรเวต คลาสย่อยเหล่านี้ก็สามารถใช้ได้เช่นกัน

คุณจะสืบทอดสมาชิกส่วนตัวของคลาสพื้นฐานใน C++ ได้อย่างไร

ด้วยการสืบทอดส่วนตัว สาธารณะและสมาชิกที่ได้รับการคุ้มครองของคลาสพื้นฐาน กลายเป็นสมาชิกส่วนตัวของคลาสที่ได้รับ นั่นหมายความว่าวิธีการของคลาสฐานจะไม่กลายเป็นส่วนต่อประสานสาธารณะของวัตถุที่ได้รับ อย่างไรก็ตาม สามารถใช้ในฟังก์ชันสมาชิกของคลาสที่ได้รับ

มรดกส่วนตัวกับมรดกที่ได้รับการคุ้มครองต่างกันอย่างไร

มรดกที่ได้รับการคุ้มครองทำให้ สาธารณะและสมาชิกที่ได้รับการคุ้มครองของคลาสพื้นฐานที่ได้รับการคุ้มครองในคลาสที่ได้รับ มรดกส่วนตัวทำให้สาธารณะและสมาชิกที่ได้รับการคุ้มครองของคลาสฐานเป็นส่วนตัวในคลาสที่ได้รับ

เมื่อการสืบทอดเป็นแบบส่วนตัว วิธีส่วนตัวในคลาสพื้นฐานคือ?

เมื่อมรดกเป็นส่วนตัว วิธีส่วนตัวในฐานคลาส ไม่สามารถเข้าถึงได้ในคลาสที่ได้รับ (ใน C++) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับมรดก อ้างอิง:การสืบทอดในตัวเลือก C++ (A) ถูกต้อง