类B是类A的公有派生类,类A和类B中都定义了虚函数 func(),p是一个指向类A对象类型的指针,则 p->func() 将 () 。
A.调用类 A 中的函数 func()
B.调用类 B 中的函数 func()
C.根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func()
D.既调用类 A 中函数,也调用类 B 中的函数
第1题:
下列有个虚函数说法不正确的有()。
A、虚函数是静态的
B、虚函数声明只能出现在类定义的函数原型声明中
C、一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性
D、定义了虚函数后,程序中声明的指向基类的指针就可以指向其派生类
第2题:
在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
第3题:
对于类定义: 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()是虚函数
第4题:
对于类定义 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()是虚函数
第5题:
关于纯虚函数和抽象类的描述中,( )是错误的。
A.纯虚函数是一种特殊的虚函数,它没有具体的定义
B.抽象类是指具有纯虚函数的类
C.一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出
第6题:
生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。
A.无需任何条件
B.基类中显式定义了构造函数
C.派生类中显式定义了构造函数
D.派生类构造函数明确调用了基类构造函数
第7题:
下列说法不正确的是( )。
A.基类指针可以指向它的公有派生类的对象
B.指向基类的对象的指针可以指向派生类的对象,因而可以访问派生类的对象的成员
C.基类指针不能指向其私有派生类的对象
D.指向派生类对象的指针不可以指向基类的对象
第8题:
下面描述中,正确的是()
第9题:
设Time是一个类,现有指针p的定义语句:const Time *p;则通过指针p不可以修改Time类对象的公有数据成员。
第10题:
当派生类指针指向基类对象时()
第11题:
无需任何条件
基类中显示定义了构造函数
派生类中显式定义了构造函数
派生类构造函数明确调用了基类构造函数
第12题:
虚函数是没有实现的函数
纯虚函数是返回值等于0的函数
抽象类是只有纯虚函数的类
抽象类指针可以指向不同的派生类
第13题:
已知f1(int)是类A的公有成员函数,并将指针p定义为可以指向函数f1的指针类型,则可以实现让p是指向成员函数f1()的指针的语句为【 】。
第14题:
下列有关继承和派生的叙述中,正确的是( )。
A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员
B.派生类的成员函数可以访问基类的所有成员
C.基类对象可以赋值给派生类对象
D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
第15题:
生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。
A) 无需任何条件
B) 基类中显示定义了构造函数
C) 派生类中显式定义了构造函数
D) 派生类构造函数明确调用了基类构造函数
A.
B.
C.
D.
第16题:
在基类中有定义的纯虚函数,它要求在派生类中定义,而且基类不能用以说明对象,则该类为( )。
A.虚基类
B.抽象类
C.虚函数类
D.模板类
第17题:
关于抽象类的说法,不正确的是( )。
A.如果一个类至少有一个纯虚函数,则此类即为抽向类
B.抽象类中的纯虚函数没有定义,不能建立它的对象,只能派生其子类
C.抽象类对象不能用作参数类型、函数返回类型及显式转换类型
D.不可声明指向抽象类的指针和引用
第18题:
对于类定义 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( )是虚函数
第19题:
对于类定义 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()是虚函数
第20题:
当基类指针指向派生类对象时,会发生()
第21题:
异质链表是()
第22题:
基类指针指向基类对象
基类指针指向派生类对象
派生类指针指向基类对象
派生类指针指向派生类对象
第23题:
错误,基类指针不能指向派生类对象
基类指针可以指向派生类对象,但在此情况下只能调用基类自己定义的成员函数
基类指针可以调用派生类的成员函数
以上说法全部错误
第24题:
基类的成员函数
派生类的成员函数
不确定
先调用基类的,再调用派生类的