Trong C++, "multiple inheritance" (kế thừa nhiều lớp) cho phép một lớp con kế thừa từ nhiều lớp cha. Tuy nhiên, điều này có thể dẫn đến các vấn đề như *diamond problem*, khi hai lớp cha có chung một lớp tổ tiên, gây nhầm lẫn về quyền truy cập và tạo bản sao thừa. Để giải quyết, C++ cung cấp từ khóa `virtual` để chỉ định kế thừa ảo, đảm bảo chỉ có một bản sao của lớp tổ tiên được giữ lại.