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

admin2010-06-06  28

问题 下列程序编译时发现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<<"Derivcd:"<<str<<endl;}
   };
   void main(void)
   {
        Derived * pd=new Derived;
        pd->f(10)
   }

选项

答案数据类型不匹配

解析 派生类中的成员函数隐藏了基类的同名函数,而参数10又无法隐式转换为char类型参数。
转载请注明原文地址:https://jikaoti.com/ti/mwW0FFFM
0

最新回复(0)