首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include <iostream> using namespace std; class A{ public: virtual void funcl( ){ cout<<"A1"; } v
有如下程序 #include <iostream> using namespace std; class A{ public: virtual void funcl( ){ cout<<"A1"; } v
admin
2009-03-16
47
问题
有如下程序 #include <iostream> using namespace std; class A{ public: virtual void funcl( ){ cout<<"A1"; } void func2( ) { cout<<"A2"; }; class B:public A { public: void funcl( ){ cout<<"B1"; } void func2( ){ cout<<"B2"; } }; int main( ) { A *p=new B; p->func1 ( ); p->func2( ); return 0; } 运行此程序,屏幕上将显示输出
选项
A、B1B2
B、A1A2
C、B1A2
D、A1B2
答案
C
解析
本题考查的是虚函数的概念。在C++中,一个派生类的对象可以被它的任何一个基类的指针所指向(或被基类类型的引用所引用)。若基类和派生类中存在一模一样的成员函数,那么通过该基类指针(或引用)调用这样的成员函数,究竟是应该调用基类中的还是调用派生类中的呢?答案是:若这个成员函数被定义成虚函数,那么就调用派生类中的;否则会调用基类中的。本题是一个典型的例子,func1()是虚函数,func2()是一般成员函数,而且在派生类与基类中都存在两个这样的函数。在主函数中,语句A*p=new B;定义了一个基类的指针p,并让它指向一个派生类对象。所以通过该指针调用func1()时,运行的是派生类的版本,而通过该指针调用func2()运行的是基类的版本。所以,程序运行后将输出B1A2,应该选择C。
转载请注明原文地址:https://www.kaotiyun.com/show/2ojp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于线性链表的叙述中,正确的是()。
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部
若要使用C数学库中的sin函数,需要在源程序的头部加上#include关于引用数学库,以下叙述正确的是()。
有两个关系R、S如下:由关系R通过运算得到关系S,则所使用的运算为()。
以下关于C语言数据类型使用的叙述中错误的是()。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。
在C语言中,函数返回值的类型最终取决于
设有以下程序段structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;要求输入字符串给结构体变量rec的title成员
测试用例包括输入值集和______值集。
随机试题
领导科学的范围是由它的()确定的。
女,24岁,反复口腔溃疡5年,近2月自觉畏光、流泪,并出现双下肢结节性红斑。化验ANA(-)。皮肤针刺反应阳性。考虑可能的诊断是
根据阴离子间隙水平的高低可以判断
学校健康教育的实施方法主要有开设健康教育课、健康活动和
以下暂不能献血的情况中,不正确的是
2006年3月,王某在一次抢劫过程中,因行人报案,被市公安局侦查人员当场抓获。从侦查阶段到审判阶段,王某对被指控的抢劫罪一直予以否认。2006年6月15日,甲市中级人民法院正式受理了此案,并认为王某町能被判处3年以下有期徒刑,遂直接决定适川简易程序进行审理
楼梯靠墙扶手与墙面之间的净距应大于:
蔬菜应现烧现吃,放置过久会产生对机体有害的物质是()。[河北省2008年9月三级真题]
AWeb(73)isoneofmanysoftwareapplicationsthatfunctionastheinterfacebetweenauserandtheInternet
Whydon’tbirdsgetlostontheirlongflightsfromoneplacetoanother?Scientistshavepuzzledoverthisquestionforalong
最新回复
(
0
)