คลาสเสมือนเป็นคลาสที่จัดสรรเพียงครั้งเดียวในหน่วยความจำดังนั้นลูกของคลาสนั้นจะใช้เพียงหนึ่งสำเนาของคลาสพาเรนต์ที่สร้างขึ้นในหน่วยความจำ คลาสคือกลุ่มของวัตถุที่ใช้ลักษณะหรือคุณลักษณะร่วมกัน การสร้างคลาสเสมือนทำให้ภาษาการเขียนโปรแกรมเชิงวัตถุมีความสามารถในการใช้การสืบทอดหลายอย่างเมื่อคลาสแม่พารองรุ่นที่สองขึ้นไปได้มาจากคลาสพื้นฐานบรรพบุรุษ ขึ้นอยู่กับภาษาที่ใช้ในการเขียนโปรแกรมคอมพิวเตอร์คำสำคัญ "เสมือน" คำสำคัญที่คล้ายกันหรือไวยากรณ์และความหมายของคลาสนั้นถูกใช้เพื่อบอกเป็นนัยว่าคลาสนั้นจะต้องพิจารณาเสมือน
ภาษาการเขียนโปรแกรมเชิงวัตถุไม่อนุญาตให้มีการสืบทอดหลายครั้งซึ่งเป็นช่วงที่คลาสลูกสามารถรับได้จากหลายพาเรนต์คลาสพร้อมกัน ในภาษาการเขียนโปรแกรมเช่น C ++ คลาสสามารถสืบทอดข้อมูลสมาชิกและฟังก์ชันสมาชิกทั้งหมดจากทั้งคลาสพาเรนต์พร้อมกันและเข้าถึงชุดข้อมูลหลักและฟังก์ชันทั้งสองชุดได้ ภาษาอื่น ๆ ที่สนับสนุนการสืบทอดหลายรายการ ได้แก่ Perl, Python, Tcl และ Eiffel
ปัญหาเกิดขึ้นในหลาย ๆ ลำดับชั้นการสืบทอดเมื่อผู้ปกครองสองชั้นขึ้นไปที่ใช้ในการสร้างคลาสเด็กนั้นมาจากคลาสเดียวหรือคลาสปู่ย่าตายายเดียวกันเท่านั้น สิ่งนี้เรียกว่าปัญหาเพชรชื่อเกิดจากลักษณะของลำดับชั้นในสถานการณ์นี้ เมื่อโปรแกรมคอมไพเลอร์พยายามสร้างอินสแตนซ์ของคลาสเช่นคลาส grandchild ที่ทำจากคลาสพาเรนต์สองคลาสที่มีปู่ย่าตายายทั่วไปปู่ย่าตายายสองสำเนาถูกสร้างขึ้นในหน่วยความจำหนึ่งชุดสำหรับแต่ละพาเรนต์
เนื่องจากความกำกวมที่เกิดจากสำเนาหลาย ๆ รายการของปู่ย่าตายายเดียวกันในหน่วยความจำคอมไพเลอร์ไม่สามารถตรวจสอบได้ว่าสำเนาของปู่ย่าตายายตัวใดที่ควรใช้เพื่อเข้าถึงข้อมูลหรือฟังก์ชั่นของปู่ย่าตายาย เพื่อแก้ไขสถานการณ์นี้ใน C ++ ปู่ย่าตายายจะถูกทำให้เป็นคลาสเสมือนเมื่อประกาศผู้ปกครอง สิ่งนี้ทำให้คอมไพเลอร์สร้างเพียงหนึ่งสำเนาของปู่ย่าตายายในหน่วยความจำที่ผู้ปกครองทั้งสองใช้ร่วมกัน เมื่อปู่ย่าตายายกลายเป็นคลาสเสมือนจริงคอมไพเลอร์ก็ไม่มีปัญหาในการตัดสินใจว่าหลานสาวควรเข้าถึงปู่ย่าตายายเพราะมีปู่ย่าตายายเพียงสำเนาเดียว
ควรใช้ความระมัดระวังอย่างยิ่งเมื่อจัดโครงสร้างลำดับชั้นของชั้นเรียนโดยเฉพาะอย่างยิ่งเมื่อจะรวมไว้ในหรือกลายเป็นฐานสำหรับลำดับชั้นที่มีขนาดใหญ่กว่ามากในอนาคต การใช้งานที่เหมาะสมของคลาสเสมือนให้ลำดับชั้นของละติจูดที่มากกว่าในการพัฒนา อย่างไรก็ตามมีแนวโน้มที่จะทำให้เกิดข้อผิดพลาดที่ยากต่อการค้นหา การศึกษาหลักการทางวิศวกรรมการเขียนโปรแกรมคอมพิวเตอร์ที่เป็นของแข็งจะช่วยให้มั่นใจได้ว่าผลข้างเคียงที่ไม่คาดคิดจากองค์กรโปรแกรมที่ไม่เหมาะสมจะไม่เกิดขึ้น


