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

การแบ่งส่วนวัตถุใน C++


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

class Foo {
   int a;
};
class Bar : public Foo {
   int b;
}

เนื่องจาก Bar ขยาย Foo ตอนนี้จึงมีตัวแปรสมาชิก 2 ตัวคือ a และ b ดังนั้น หากคุณสร้างแถบตัวแปรประเภท Bar แล้วสร้างตัวแปรประเภท Foo และกำหนดแถบ คุณจะสูญเสียตัวแปรสมาชิก b ในกระบวนการ ตัวอย่างเช่น

Bar bar;
Foo foo = bar;

ในกรณีนี้ ข้อมูลใน for about b จะหายไปในแถบ สิ่งนี้เรียกว่าการแบ่งส่วนสมาชิก