首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列关于虚函数的描述中,正确的是( )。
下列关于虚函数的描述中,正确的是( )。
admin
2010-06-06
53
问题
下列关于虚函数的描述中,正确的是( )。
选项
A、如果在重定义函数时使用了保留字virtual,则该重定义函数仍然是虚函数
B、虚函数不得声明为静态函数
C、虚函数不得声明为另一个类的友元函数
D、派生类必须重新定义基类的虚函数
答案
2
解析
被关键词virtual说明的函数称为虚函数。对于虚函数有以下限制:
①只有类的成员函数才能说明为虚函数。这是因为,虚函数仅适用于有继承关系的类对象,所以普通函数不能说明为虚函数。
②静态成员函数不能是虚函数,因为静态成员函数不受限于某个对象。
③内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置。即使虚函数在类的内部定义,编译时仍将其看作是非内联的。
④构造函数不能是虚函数,因为构造时对象还是一片未定型的空间。只有在构造完成后,对象才能成为一个类的名副其实的实例。 、
⑤析构函数可以是虚函数,而且通常说明为虚函数。说明虚函数的目的在于:使用 delete运算符删除一个对象时,能确保析构函数被正确地执行。这是因为设置虚析构函数后,可以利用动态联编方式选择析构函数。
⑥一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。
转载请注明原文地址:https://kaotiyun.com/show/Sqjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。请在程序的下画线处填入正确的内容并把下画线删除,使程序得
有以下程序,其中%u表示按无符号整数输出()。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf("%u\n",x);}程序运行后的输出结果是()。
在数据库管理系统提供的数据语言中,负责数据的查询、增加、删除和修改等操作的是
设有定义:intx,y,z;,且各变量已赋正整数值,则以下能正确表示代数式""的C语言表达式是()。
程序测试的目的是
数据库应用系统中的核心问题是()。
有以下函数:intfun(char*x,char*y){intn=0;while((*x==*y)&&*x!=’\0’){x++;y++;n++;}returnn;}函数的功能是()。
以下选项中,合法的C语言常量是
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。例如,若N=3,有下列矩阵:
随机试题
碳钢和铸铁都是铁和碳的合金,它们的主要区别是含()量不同。
生产资料包括()。
A、雄激素B、孕激素C、小剂量缩宫素D、儿茶酚胺E、雌激素使子宫对缩宫素敏感
下列不属于优先股的主要特征的是( )。
关于程序模块优化的启发式规则有若干条,以下规则中不符合优化原则的是(55)。如果一个模块调用下层模块时传递一个数据结构,则这种耦合属于(56)。
【T1】Inafamilywheretherolesofmenandwomenarenotsharplyseparatedandwheremanyhouseholdtasksaresharedtoagreate
ReadthearticlebelowaboutFederalDepositInsuranceCorporation.Choosethebestwordtofilleachgap,fromA,B,CorD.Fo
Normally,atthebeginningoftheschoolyear,theStudentServicesofuniversitiesandcollegespublishlistsofroomsandapar
Itisno(use)______arguingaboutit,becausehewillneverchangehismind.
PartⅡReadingComprehension(SkimmingandScanning)Directions:Inthispart,youwillhave15minutestogooverthepassageq
最新回复
(
0
)