类B是类A的公有派生类,类A和类B中都定义了虚函数 func(),p是一个指向类A对象类型的指针,则 p->func() 将 () 。A.调用类 A 中的函数 func()B.调用类 B 中的函数 func()C.根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func()D.既调用类 A 中函数,也调用类 B 中的函数
类B是类A的公有派生类,类A和类B中都定义了虚函数 func(),p是一个指向类A对象类型的指针,则 p->func() 将 () 。
A.调用类 A 中的函数 func()
B.调用类 B 中的函数 func()
C.根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func()
D.既调用类 A 中函数,也调用类 B 中的函数
参考答案和解析
A 解析:本题中,第10不能通过编译,因为getInfo定义的是float型,而里面的参数却是int型,再者,如果定义为float型也不能覆盖classA的方法。所以不正确,应该该为int型。
相关考题:
下列有关继承和派生的叙述中,正确的是______。A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
下列有关继承和派生的叙述中,正确的是A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B.派生类的成员函数可以防问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
对于类定义: class A{ public: virtual void func1( ){} void func2( ){} }; class B:public A{ public: void func1(){cout<<"class B func 1"<<end1;} virtual void func2(){cout<<"class B func 2"<<end1;} }; 下面叙述正确的是(53)。A.A∷func2()和B∷func1()都是虚函数B.A∷func2()和B∷func1()都不是虚函数C.B∷func1()是虚函数,而A∷func2()不是虚函数D.B∷func1()不是虚函数,而A∷func2()是虚函数
对于类定义class A{public:virtual void funcl(){}void func2(){}};class B:public A{public:void funcl(){cout "class B func 1”virtual void func2(){cout "class B func 2"};下面正确的叙述是A.A::func2()和B::funcl()都是虚函数B.A::func2()和B::funcl()都不是虚函数C.B::funcl()是虚函数,而A::func2()不是虚函数D.B::funcl()不是虚函数,而A::func2()是虚函数
下列有个虚函数说法不正确的有()。A、虚函数是静态的B、虚函数声明只能出现在类定义的函数原型声明中C、一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性D、定义了虚函数后,程序中声明的指向基类的指针就可以指向其派生类
在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针
下列有关继承和派生的叙述中,正确的是( )。A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
对于类定义: class A{ public: virtual void funcl(){} void func2(){} ); class B:public A{ public: voidfuncl(){cout<<“class Bfunc 1”<<endl;} virtual void func2(){cout<<“class B func 2”<<endl;} }; 下面正确的叙述是( )。A.A::func2()和B::funcl()都是虚函数B.A::func2()和B::funcl()都不是虚函数C.B::funcl()是虚函数,而A::func2()不是虚函数D.B::funcl()不是虚函数,而A::func2()是虚函数
生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。A) 无需任何条件B) 基类中显示定义了构造函数C) 派生类中显式定义了构造函数D) 派生类构造函数明确调用了基类构造函数A.B.C.D.
对于类定义 classA{ public: virtual void func1(){} void func2(){} }; Class B:public A{ public: void funcl(){cout <<”class B func1” <<end1;} virtual void func2(){cout <<"class B func 2" <<end1;} }; 下面正确的叙述是A.A∷func2()和B∷funcl()都是虚函数B.A∷func2()和B∷funcl()都不是虚函数C.B∷funcl()是虚函数,而A∷func2()不是虚函数D.B∷funcl()不是虚函数,而A∷func2()是虚函数
关于纯虚函数和抽象类的描述中,( )是错误的。A.纯虚函数是一种特殊的虚函数,它没有具体的定义B.抽象类是指具有纯虚函数的类C.一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出
关于抽象类的说法,不正确的是( )。A.如果一个类至少有一个纯虚函数,则此类即为抽向类B.抽象类中的纯虚函数没有定义,不能建立它的对象,只能派生其子类C.抽象类对象不能用作参数类型、函数返回类型及显式转换类型D.不可声明指向抽象类的指针和引用
对于类定义 class A{ public: virtual void func1( ){} void func2( ){} }; class B:public A{ public: void func1( ){cout<<"class B func 1"< < end1;} virtual void func2( ){cout << "class B func2"<< end1;} }; 下面正确的A.A::func2( )和B::func1( )都是虚函数B.A::func2( )和B::func1( )都不是虚函数C.B::func1( )是虚函数,而A::func2( )不是虚函数D.B::func1( )不是虚函数,而A::func2( )是虚函数
下列说法不正确的是( )。A.基类指针可以指向它的公有派生类的对象B.指向基类的对象的指针可以指向派生类的对象,因而可以访问派生类的对象的成员C.基类指针不能指向其私有派生类的对象D.指向派生类对象的指针不可以指向基类的对象
对于类定义 class A { public: virtual void funcl(){} void func2(){} }; class D:public A{ public: void funcl(){cout<< "class B rune 1"<<end1;} virtual void func2(){cout<< "class B func 2"<<end1;} }; 下面正确的叙述是 ______。A.A::func2()和B::funcl()都是虚函数B.A::func2()和B::funcl()都不是虚函数C.B::func1()是虚函数,而A::func2()不是虚函数D.B::func1()不是虚函数,而A::func2()是虚函数
当基类指针指向派生类对象时,会发生()A、错误,基类指针不能指向派生类对象B、基类指针可以指向派生类对象,但在此情况下只能调用基类自己定义的成员函数C、基类指针可以调用派生类的成员函数D、以上说法全部错误
单选题基类的指针与派生类指针,可以分别指向基类对象或派生类对象而形成4种情形。在这4种情形中,需要进行强制类型转换的是()A基类指针指向基类对象B基类指针指向派生类对象C派生类指针指向基类对象D派生类指针指向派生类对象
单选题当基类指针指向派生类对象时,会发生()A错误,基类指针不能指向派生类对象B基类指针可以指向派生类对象,但在此情况下只能调用基类自己定义的成员函数C基类指针可以调用派生类的成员函数D以上说法全部错误
单选题当基类指针指向派生类对象时,利用基类指针调用派生类中与基类同名但被派生类重写后的成员函数时,调用的是()A基类的成员函数B派生类的成员函数C不确定D先调用基类的,再调用派生类的