1 单选(2分)
所谓多态性是指() 得分/总分
A. 一个对象调用不同名称的对象
B. 不同的对象调用相同名称的函数 2.00/2.00
C. 一个对象调用不同名称的函数
D. 不同的对象调用不同名称的函数
正确答案:B你选对了 解析: B、多态性有两种静态多态性和动态多态性,静态多态性是指调用同名函数,由于参数 的不同调用不同的同名函数;动态多态性是指不同对象调用同名函数时,由于对象不同调用不同 的同名函数。 多态性肯定具有相同的函数名
2 单选(2分) 以下基类中的成员函数表示纯虚函数的是() 得分/总分
A. void tt(int)=0
B. virtual void tt()=0 2.00/2.00
C. virtual void tt(int){}
D. virtual void tt(int)
正确答案:B你选对了 解析: B、当在基类中不能为虚函数给出一个有意义的实现时,可以将其声明为纯虚函数,实 现由派生类完成。格式:virtual<函数返回类型说明符><函数名>(<参数表>)=0;
3 单选(2分) 抽象类中至少要有一个()函数 得分/总分
A. 纯虚
B. 析构 0.00/2.00
C. 友元
D. 重载
正确答案:A你错选为B 解析: A、纯虚 [解析]至少有一个纯虚函数的类就称为抽象类,即不能实例化。
4 单选(2分)
在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是() 得分/总分
A. 函数体 2.00/2.00
B. 函数名称
多态性与虚函数C. 参数类型
D. 参数个数
正确答案:A你选对了 解析: A、虚函数在基类和派生类,具有相同的返回类型、形参类型和形参个数,而函数体可 以根据不同的派生类或基类实现不同的操作,即不同函数体。
5 单选(2分)
#include <iostream.h>
class A
{int i;
public:
virtual void fun()=0;
A(int a)
{i=a;} };
class B:public A
{int j;
public:
void fun()
{cout<<"B::fun()\n"; }
B(int m,int n=0):A(m),j(n){} };
void main()
{A *pa;
B b(7);
pa=&b; }
程序第12行有问题,下列()选项修改可使程序正常 得分/总分 A. B(int m): j(n){}
B. B(int m,int n=0):j(n){} 2.00/2.00
C. B(int m,int n=0):j(n),A(m){}
D. B(int m,int n=0):A(m) {}
正确答案:B你选对了 解析: B、因为基类是抽象类,不能被实例化,所以在派生类中不能 调用初始化基类对象。所以B(int m,int n=0):A(m),j(n){}错误,删去A(m)。
6 单选(2分)
类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针 ,则p->A::func()将() 得分/总分
A. 既调用类A中函数,也调用类B中的函数
B. 根据p所指的对象类型而确定调用类A中或类B中的函数func() C. 调用类B中的函数func()
D. 调用类A中的函数func() 2.00/2.00
正确答案:D你选对了 解析: D、向类成员指针的使用,A::func()是明确调用A类的func函数,所以不管p指向基 类或者派生类对象,都执行基类虚函数。注意p->A::func()和p->fun();进行区分。如果使用p- >fun(),因为p指向派生类对象,由动态多态性可知要调用派生类的虚函数。
7 单选(2分)
关于纯虚函数和抽象类的描述中,错误的是 得分/总分
A. 抽象类是指具有纯虚函数的类
B. 纯虚函数是一种特殊的虚函数,它没有具体的实现
C. 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
D. 一个基类说明中有纯虚函数,该基类的派生类不再是抽象类 2.00/2.00 正确答案:D你选对了
8 单选(2分)
下列叙述中,正确的是 得分/总分
A. 一个基类定义的虚函数,该类的所有派生类都继承并拥有该函数 2.00/2.00
B. 虚函数的返回类型必须是void
C. 派生类中重定义虚函数时,参数表必须改变
D. 虚函数必须在派生类中定义,基类不需定义
正确答案:A你选对了
9 单选(2分)
在下面的运算符重载函数的原型中,错误的是( ) 得分/总分
A. Volume Volume: :operator - (Volume);
B. Volume operator - (Volume, Volume);
C. Volume operator - (double, double); 2.00/2.00
D. double Volume::operator- (double);
正确答案:C你选对了
10 单选(2分)
下面有关重载函数的说法中正确的是( ) 得分/总分
A. 重载函数名可以不同
B. 重载函数形参个数必须不同
C. 重载函数必须具有不同的返回值类型
D. 重载函数必须有不同的形参列表 2.00/2.00 正确答案:D你选对了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论