首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列关于虚函数的说法中,正确的是( )。
下列关于虚函数的说法中,正确的是( )。
admin
2013-05-30
59
问题
下列关于虚函数的说法中,正确的是( )。
选项
A、如果在重定义虚函数时使用了保留字virtual,则该重定义函数仍然是虚函数
B、虚函数不得声明为静态函数
C、虚函数不得声明为另一个类的私有函数
D、派生类必须重新定义基类的虚函数
答案
2
解析
使用虚函数时必须注意下列事项:
①只有类的成员函数才能说明为虚函数。这是因为虚函数仅适用于有继承关系的类对象,所以普通函数不能说明为虚函数。
②静态成员函数不能是虚函数,因为静态成员函数不受限于某个对象。
③内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置。即使虚函数在类的内部定义,编译时仍将其看作是非内联的。
④构造函数不能是虚函数,因为构造时对象还是一片未定型的空间。只有在构造完成后,对象才能成为一个类的名副其实的实例。
⑤析构函数可以是虚函数,而且通常说明为虚函数。说明虚函数的目的在于;使用 delete运算符删除一个对象时,能确保析构函数被正确地执行。这是因为设置虚析构函数后,可以利用动态联编方式选择析构函数。
⑥一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。
转载请注明原文地址:https://kaotiyun.com/show/sQNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对下列程序段的描述正确的是()。#include<iostream.h>intFun(int,int);voidmain();{cout<<Fun(5,50)<<end1;}intFun(intx,inty)}returnx*x
下列必须重载为成员函数的运算符是______。
在下列关于关系的陈述中,错误的是______。
______工具在软件详细设计过程中不采用。
下面程序的输出结果为【】。#inclUde<iostream.h>voidmain(){inta;int&b=a;//变量引用b=10;cout<<"a="<<a<<endl
有如下数组声明:intvalue[30];,下标值引用错误的是()。
程序文件的编译错误分为连接错误和【】两类。
下列运算符不能在C++中重载的是()。
下列关于二定义性的说法错误的是______。
下列程序中,先声明一个圆类circle和一个桌子类table,另外声明一个圆桌类roundtable,它是由circle和table两个类派生的,要求声明一个圆桌类对象,并输出圆桌的高度,面积和颜色。请填空完成程序#include<iostrea
随机试题
女孩,11岁,因头痛20余天,发热伴呕吐6天入院。查体:神志清。嗜睡,消瘦面容,颈部抵抗,心肺无明显异常。舟状腹,肝脾不大,巴氏征、克氏征阳性。在院外曾进行大剂量青霉素及头孢曲松治疗5天。有助于明确诊断的检查是
I’veneverbeentoAfrica,butitistheplace______.
Asmartappearancemakesa______impressionataninterview.
口腔患白色念珠菌感染有效的药物为
A.X线B.USGC.CTD.MRIE.肝动脉造影肝脓肿首选的诊断方法是
A、病人饮茶和咖啡B、病人胃肠功能的变化C、同一药物其生产厂家不一样D、不同种族的人E、病人经常接触有机溶剂影响血药浓度的病理因素为
采用施工图预算控制成本的内容有()。
根据我国《宪法》的规定,下列职务只能由实行区域自治的民族的公民担任的是()。
对于n个结点的单向链表(无表头结点)需要指针单元的个数至少为
以下叙述中正确的是()。
最新回复
(
0
)