การสืบทอดเสมือนเป็นชนิดของการสืบทอดที่การนำซูเปอร์คลาสไปใช้งานไม่สมบูรณ์และจำเป็นต้องมีคลาสย่อยสำหรับการนิยามที่สมบูรณ์ของวัตถุ การสืบทอดประเภทนี้สามารถใช้ร่วมกับการสืบทอดเดี่ยวและหลายรายการ แต่โดยทั่วไปจะใช้ในการสืบทอดหลายรายการ คลาสใดก็ตามที่สืบทอดจากคลาสฐานเสมือนจะกลายเป็นคลาสย่อยโดยตรงของคลาสพื้นฐานนั้น คลาสฐานเสมือนอาจขึ้นอยู่กับคลาสย่อยเพื่อใช้วิธีการทั้งหมด แต่นี่ไม่ใช่ข้อกำหนด
C ++ เป็นภาษาคอมพิวเตอร์ที่รู้จักกันมากที่สุดในการใช้การสืบทอดเสมือน ในการประกาศการสืบทอดเสมือนใน C ++ จะใช้คีย์เวิร์ด "virtual" ทั้งซุปเปอร์คลาสและคลาสย่อยต้องประกาศเมธอดเสมือนด้วยคีย์เวิร์ด "virtual" สิ่งนี้บอกคอมไพเลอร์ C ++ ว่าซูเปอร์คลาสนั้นไม่สมบูรณ์และต้องได้รับข้อมูลจากคลาสย่อยเพื่อให้สมบูรณ์ การใช้คลาสย่อยเพื่อทำให้ซูเปอร์คลาสนั้นไม่ได้หมายความว่าคลาสย่อยจะเขียนทับกันถ้าพวกมันมีคลาสพื้นฐานเหมือนกันและคอมไพเลอร์ C ++ จะดูแลการพิจารณาว่าชิ้นส่วนใดไปพร้อมกับแต่ละวัตถุแทน
เนื่องจากคลาสพื้นฐานเสมือนเป็นสิ่งจำเป็นสำหรับการสืบทอดเสมือนฟังก์ชันสากลใน C ++ จึงไม่สามารถประกาศเสมือนได้ ชนิดการสืบทอดนี้สามารถใช้ได้เมื่อยึดหลักการของการเขียนโปรแกรมเชิงวัตถุ (OOP) เท่านั้น เหตุผลนี้เป็นเพราะฟังก์ชั่นทั่วโลกไม่ได้เกี่ยวข้องกับชั้นเรียนเฉพาะและมักจะมีอยู่ในตัวเอง หากไม่มีซูเปอร์คลาสและคลาสย่อยไม่สามารถเกิดขึ้นได้ดังนั้นฟังก์ชันทั่วโลกและการสืบทอดเสมือนจะไม่เกิดขึ้นพร้อมกัน ในทางทฤษฎีฟังก์ชั่นทั่วโลกสามารถใช้ในฟังก์ชั่นเสมือนจริง แต่การย้อนกลับอาจไม่ทำงาน
การสืบทอดเสมือนถูกใช้เพื่อแก้ไขปัญหาการเขียนโปรแกรมจำนวนมากและหนึ่งในสิ่งที่มีประโยชน์ที่สุดคือการแก้ไขความคลุมเครือ ในการสืบทอดหลายรายการหนึ่งอาจมีคลาสฐาน A ที่มีสองคลาสย่อย B และ C จากนั้นคลาส D ที่สืบทอดจากคลาส B และ C ทั้งสองรูปแบบนี้โดยทั่วไปเรียกว่า "ไดมอนด์แห่งความตาย" เพราะถ้าคลาส A B และ C ทั้งหมดมีการใช้งานของวิธีการเดียวกันมันเป็นไปไม่ได้สำหรับ Class D เพื่อพิจารณาว่าการใช้งานที่ควรใช้ การสืบทอดเสมือนจริงแก้ปัญหานี้ได้เนื่องจากการใช้งานของแต่ละคลาสยังคงแตกต่างกันดังนั้นจึงไม่คลุมเครือ ความแตกต่างนี้ได้รับการจัดการโดยวัตถุภายในพิเศษที่เรียกว่า virtual tables (vtables) ที่ติดตามชนิดของวัตถุแต่ละชนิด แต่ตารางเหล่านี้ไม่จำเป็นต้องถูกควบคุมอย่างชัดเจนโดยโปรแกรมเมอร์เพราะพวกมันถูกสร้างขึ้นเป็นภาษา


