下列程序编译时发现pb->f(10);语句出现错误,其原因是______。 #include<iostream.h> class Base { public: void f(int x){cout<<"Base:"<<

admin2010-12-16  33

问题 下列程序编译时发现pb->f(10);语句出现错误,其原因是______。
   #include<iostream.h>
   class Base
   {
   public:
       void f(int x){cout<<"Base:"<<x<<endl;)
   };
       class Derived:public Base
   {
   public:
       void f(char*str){cout<<"Derived:"<<str<<endl;}
   };
   void main(void)
   {
       Derived*pd=new Derived;
       Pd->f(10);
   }

选项

答案数据类型不匹配

解析 pd为派生类Derived的指针,指向派生类的成员函数f(char*Str),不指向基类的f(intx)。
转载请注明原文地址:https://jikaoti.com/ti/dHL0FFFM
0

最新回复(0)