11、关于纯虚函数,下列表述正确的是______。
A、纯虚函数是没有给出显现版本(即无函数体定义)的虚函数
B、纯虚函数的声明总是以"=0"结束
C、派生类必须实现基类的纯虚函数
D、含有纯虚函数的类不可能是派生类
解析:本题考查纯虚函数的概念。
在某些情况下基类无法确定一个虚函数的具体操作方法或内容,只能靠派生类来提供各个具体的实现版本。基类中的这种必须靠派生类提供重定义的虚函数叫做纯虚函数。为了将一个虚函数声明为一个纯虚函数,需要在结束符号;前加上=0;如果派生没有重定义纯虚函数,这个函数仍然是纯虚函数。
故本题选B。
12、下列程序的输出结果是______。
#include
usingnamespacestd;
intmain()
{
inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
else
c+=1;
cout<
return0;
}
A、0
B、1
C、2
D、3
解析:本题考查的是if--else结构。
为了解决if--else结构中可能出现的二义性,C++中规定关键字是与它前面最近的未配对的且可见的那个if关键字配对。所以解析:本题的else是和第二个if配对的。而解析:本题第一个if中的条件就不成立,故最后输出c原来的数值。
故本题选C。
13、要将一个函数声明为内联函数必须在其前面加上______。
A、void
B、include
C、inline
D、virtual
解析:本题考查内联函数的定义。
在C++中使用inline关键字来定义内联函数。inline关键字放在函数定义中函数类型之前。
所以解析:本题选C。
14、一个类的友元函数能够通过成员操作符访问该类的______。
A、私有成员
B、保护成员
C、公有成员
D、公有成员、保护成员、私有成员
解析:本题考查友元函数的概念。
友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但是它可以访问该类的所有对象成员,包括公有成员、保护成员、私有成员。
故本题选D。
15、下面类定义中错误的语句是______。
classSample
{
public:
Sample(intval);
~Sample(intval);
private:
inta;
Sample();
}
A、Sample(intval);
B、~Sample(intval);
C、inta;
D、Sample();
解析:本题考查类的定义。
对于类定义,其中的析构函数不可以带有参数。
所以本题选B。