首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列关于虚函数的说法中,正确的是( )。
下列关于虚函数的说法中,正确的是( )。
admin
2013-05-30
69
问题
下列关于虚函数的说法中,正确的是( )。
选项
A、如果在重定义虚函数时使用了保留字virtual,则该重定义函数仍然是虚函数
B、虚函数不得声明为静态函数
C、虚函数不得声明为另一个类的私有函数
D、派生类必须重新定义基类的虚函数
答案
2
解析
使用虚函数时必须注意下列事项:
①只有类的成员函数才能说明为虚函数。这是因为虚函数仅适用于有继承关系的类对象,所以普通函数不能说明为虚函数。
②静态成员函数不能是虚函数,因为静态成员函数不受限于某个对象。
③内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置。即使虚函数在类的内部定义,编译时仍将其看作是非内联的。
④构造函数不能是虚函数,因为构造时对象还是一片未定型的空间。只有在构造完成后,对象才能成为一个类的名副其实的实例。
⑤析构函数可以是虚函数,而且通常说明为虚函数。说明虚函数的目的在于;使用 delete运算符删除一个对象时,能确保析构函数被正确地执行。这是因为设置虚析构函数后,可以利用动态联编方式选择析构函数。
⑥一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。
转载请注明原文地址:https://www.kaotiyun.com/show/sQNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据库系统在其内部分为三级模式,即概念模式、内模式和外模式。其中,【】是用户的数据视图,也就是用户所见到的数据模式。
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a>=b)?a:b;}下列对函数模板Max()的调用中错误的是()。
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval);//①~Sample();//②private:
若执行语句:cout<<seffill(’*’)<<setw(10)<<123<<"OK"<<endl后将输出()。
判断字符型变量ch是否为大写英文字母,应使用表达式()。
在面向对象方法中,类的实例称为【】。
类是C++中的一种新的数据类型,下列有关类的说法不正确的是______。
前置自增运算符++重载为类的友元函数的形式为【】,重载为类的成员函数的形式为【】。(设类为A,类对象为a)
下面关于对象概念的描述中,()是错误的。
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用()关键字来修饰。
随机试题
TheInternetmaybechangingmerelywhatweremember,notourcapacitytodoso,suggestsColumbiaUniversitypsychologyprofess
AsfortheFlatEarththeory,IbelieveIcan______itwithmyownexperiencesofnavigation.
输精管的管壁由_______、_______和_______组成。
失荣初期的治法是
公安机关将正在抢劫的蒋某先行拘留后,经审查认为需要逮捕,于是依法提请人民检察院审查批准。人民检察院在对案件审查后,可以依法作出:
对于收款凭证,通常选择( )限制类型。
自然保护区的核心区,不允许进入从事科学研究活动。()
______是幼儿的主要活动形式。
河南:商丘()
A、Growingpopulation.B、Packagingmaterials.C、Changedeatinghabits.D、Lowerproductioncost.B对话中男士说十年或二十年前,人们所使用的包装材料本身就是可以回收
最新回复
(
0
)