chinese继承自person
person  p = new chinese();为什么p不能调用chinese中的方法
上面的语句不是已经让p 指向chinese的对象了吗 求指教

解决方案 »

  1.   

    要显式转换成chinese才行,否则编译器只把p看成person,而不是chinese,不给你编译通过的。
      

  2.   

    Chinese类要定义的虚函数,这样才可以调用
      

  3.   

    可是 我用 p  is chinese  返回的是true 
      

  4.   

    这玩意最好还是自己领悟清楚,俺们很难跟你扯明白你可以去看《你必须知道的.net》如果简单点说,俺们可以概括为“冒名顶替”,虽然本质上他还是chinese,但是名义上他是person,所以他只能做名义上能做的事。除非你((chinese)p).这样可以调用chinese的方法,这就撕破脸了,你明确的告诉他我是chinese,所以就可以做了
      

  5.   

    它不返回true返回什么?一个是当前的身份(person),一个是真实身份(chinese)。