请说的详细一些,特别在原理和用法上。

解决方案 »

  1.   

    JAVA中的函数,除非声明为static或final,都可以看做是虚的,因为它们都是动态绑定的(当然final应该也是动态的,static是静态的)和可覆盖的(final不可以)。
    而所谓的纯虚函数,在C++中一般是在抽象类中出现的,在JAVA中也有相对应的抽象类。另外,像JAVA中的interface中那些函数就是典型的C++中的纯虚函数。 
    看了程序员宝典上说的,C++的多态,实际上就是靠虚函数来实现的。而所谓的函数重载,实际上编译器是在编译的时候就对不同参数的函数进行了区分,所以说静态绑定的。
      

  2.   

    人和石头有什么区别?根本不相干的事要谈什么区别?C++的只包含纯虚函数的抽象类和JAVA接口作用相似,原理也相似。
    而C++的虚函数和JAVA的非final方法相同,JVM底层默认JAVA的方法就是虚函数。