在java中所有的方法都虚函数,而在c++只有指出virtual才是虚函数,所以在c++中father1.showInfo是调用的父类的方法,而在java中执行的是子类的方法

解决方案 »

  1.   

    204126(204126) 说的对。你把C++中的showInfo()签署为virtual的。
      

  2.   

    我了解了,谢谢,不过,我还想问一下,我的例子中的子类中的showInfo()不是虚函数,就不算是覆盖了父类的方法了么,不知道是不是的?
    那么,这个showInfo()函数以同名存在在两个类中,一点关系都没有么?
      

  3.   

    hehe java虽然像c++,但是有一些默认的地方不同了
    java中的类除非被final声明,否则可以被派生,而c++相反,必须声明virtual才行。
    c++中可以定义纯虚函数,java中叫做接口,接口中不能存在内部变量一说。
    ...
    不过总的来说我觉得java的这些改进和“显式”的一些调用要求还是很方便很清晰的。
      

  4.   

    说错了,应该是纯虚类--接口,sorry.