工学

单选题设置虚函数的声明中,正确的是()。A 简化程序B 消除二义性C 提高运行效率D 减少目标代码

题目
单选题
设置虚函数的声明中,正确的是()。
A

简化程序

B

消除二义性

C

提高运行效率

D

减少目标代码

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

关于虚函数,以下说法正确的是( )。

A.若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

B.虚函数不能声明为友元

C.子类必须重定义父类的虚函数

D.虚函数不能是static的


正确答案:D

第2题:

下列有个虚函数说法不正确的有()。

A、虚函数是静态的

B、虚函数声明只能出现在类定义的函数原型声明中

C、一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性

D、定义了虚函数后,程序中声明的指向基类的指针就可以指向其派生类


参考答案:A

第3题:

关于纯虚函数,下列说法不正确的是( )。

A.纯虚函数是在声明虚函数时被初始化为0的函数

B.纯虚函数没有函数体

C.纯虚函数可以被调用

D.如果在一个类中声明了纯虚函数,该虚函数中在派生类中仍有可能为虚函数


参考答案:C

第4题:

下列关于虚函数的说法中,正确的是( )。

A.如果在重定义虚函数时使用了保留字virtual,则该重定义函数仍然是虚函数

B.虚函数不得声明为静态函数

C.虚函数不得声明为另一个类的私有函数

D.派生类必须重新定义基类的虚函数


正确答案:B
解析:使用虚函数时必须注意下列事项:①只有类的成员函数才能说明为虚函数。这是因为虚函数仅适用于有继承关系的类对象,所以普通函数不能说明为虚函数。②静态成员函数不能是虚函数,因为静态成员函数不受限于某个对象。③内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置。即使虚函数在类的内部定义,编译时仍将其看作是非内联的。④构造函数不能是虚函数,因为构造时对象还是一片未定型的空间。只有在构造完成后,对象才能成为一个类的名副其实的实例。⑤析构函数可以是虚函数,而且通常说明为虚函数。说明虚函数的目的在于;使用delete运算符删除一个对象时,能确保析构函数被正确地执行。这是因为设置虚析构函数后,可以利用动态联编方式选择析构函数。⑥一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。

第5题:

下列关于纯虚函数的描述中,正确的是( )。

A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数

B.纯虚函数的声明总是以“=0;”结束

C.派生类必须实现基类的纯虚函数

D.含有纯虚函数的类不能是派生类


正确答案:B
解析:基类的虚函数有时候不可能被调用到,这时可定义该虚函数为纯虚函数。纯虚函数没有函数体,但一定要进行说明,它告诉编译器,派生类必须定义该成员函数。纯虚函数是一种特殊的虚函数,纯虚函数是在虚函数的后面加上“=0”,表示该虚函数无函数体,并非赋值运算。纯虚函数的一般格式为:virtual类型>函数名>(参数表>)=0;。在很多情况下,在基类中不能对虚函数给出有意义的实现,而把它说明为纯虚函数.

第6题:

关于纯虚函数,下列表述中正确的是( )。

A.纯函数是没有给出实现版本(即无函数体定义)的虚函数

B.纯虚函数的声明总是以“=0”结束

C.派生类必须实现基类的纯虚函数

D.含有纯虚函数的类不可能是派生类


正确答案:B
解析: 纯虚函数是在声明虚函数时被“初始化”为。的虚函数。纯虚函数没有函数体,纯虚函数的作用是在基类中为其派生类保留一个函数名字。

第7题:

下面关于虚函数的描述,错误的是( )。

A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚数

C.虚函数可以是另一个类的友元函数,但不能是静态成员函数

D.基类中说明的纯虚函数在其任何派生类中都必须实现


正确答案:B
基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。

第8题:

下面关于虚函数的描述,错误的是

A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数

C.虚函数可以是另一个类的友元函数,但不能是静态成员函数

D.基类中说明的纯虚函数在其任何派生类中都必须实现


正确答案:B
解析:基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。

第9题:

关于虚函数下面说的正确的是

A.若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

B.虚函数不能声明为友元

C.子类必须重定义父类的虚函数

D.虚函数不能是static的


正确答案:D
解析:虚函数一定不能定义为静态的。虚函数可以声明为友元,子类也不是必须重定义父类的虚函数,若在重定义虚函数时使用了virtual,则该重定义函数不一定还是虚函数。

第10题:

下面关于构造函数和析构函数的描述中,错误的是( )

A.析构函数可以声明为虚函数

B.对虚析构函数的调用可以采用动态联编

C.一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响

D.构造函数可以声明为虚函数


正确答案:D

更多相关问题