C++的多重继承功能较广,Java的interface功能只是其中的一个子集。因为C++的虚拟函数可以有纯虚拟函数,也可有非纯虚拟函数,而Java只有抽象函数,所以功能模式少一种,自然能达到的效果较少一些。 但这并不代表Java的interface就比较差,因为interface的观念较简单,全部动态的抽象函数也正代表着Java为一纯物件导向语言。与C++不同的是,C++考虑许多执行效率的问题,所以语言本身就变的较复杂化,同时C++的编译器也是公认难写的,多重继承更是一大挑战。