首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A { public: virtual void f(){cout<<"1";} };
有如下程序: #include<iostream> using namespace std; class A { public: virtual void f(){cout<<"1";} };
admin
2012-01-20
58
问题
有如下程序:
#include<iostream>
using namespace std;
class A
{
public:
virtual void f(){cout<<"1";}
};
class B:public A
{
public:
B (){cout<<"2";}
};
class C:public B
{
public:
virtual void f(){B::f();cout<<"3";}
};
int main()
{
A aa,*p;
B bb;
C cc;
p=&cc;
p->f();
return 0;
}
执行上面程序的输出是______。
选项
答案
2213
解析
B bb将定义一个B型对象bb,这时需调用B的构造函数,在该构造函数中,将输出"2:;C cc将定义一个C型对象cc,这时需调用C的构造函数,面该函数为缺省构造函数,其将调用父类B的构造函数,在该构造函数中,将输出"2":由于p采用指针方式调用成员函数f,而f在基类中被声明为虚拟函数,故函数f的执行与指针p所指向对象的实际类型相一致,p指向一个C型对象cc,故执行p->f()时,将执行C的f函数,在该函数中,首先直接调用了父类B的函数f,而在B中直接继承了A类的f函数,故先要执行A的f函数,输出“1”,然后再输出“3”。
转载请注明原文地址:https://kaotiyun.com/show/fDVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>voidfun(char*c,intd){*c=*c+1;d=d+1;printf(’’%c,%c,’’,*c,d);}main()
有以下程序:#includemain(){FILE*pf;ch8r*s1="China",*s2="Beijing";pf=fopen("abc.dat","wb+");fwrite(s2,7,1
若语句“t=fun(fun(x,y,a),(a+b,a+c),x+y+z);”对fun函数的调用正确,则fun函数的形参个数为()。
下列叙述中正确的是()。
以下叙述错误的是()。
下面的for语句的循环次数为()。for(x=1,y=0;(y!=19)&&(x<6);x++);
某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的入队操作和退队操作后,front=m-1,rear=m,则该循环队列中的元素个数为
下列叙述中,不属于设计准则的是()。
下面描述中错误的是()。
数据库技术的根本目标是()。
随机试题
标准的证券承销包括哪几个步骤?
15岁少年,平时偏食,系素食,因反复诉乏力,贫血入院,拟诊断缺铁性贫血。以下哪项不是口服铁剂的注意事项
王某与赵某因相互斗殴被某区公安分局调查。后王某和赵某分别被罚款3000元和1000元。王某申请复议,复议机关通知赵某作为第三人参加复议。下列说法正确的有:()
下列混凝土拌制的做法,正确的是()。
下列工程中,需要编制单位工程施工组织设计的是()。
按照《最高人民法院关于审理工伤保险行政案件若干问题的规定》规定,下列关于承担工伤保险责任单位的认定,正确的是()
被称为“现代教育学之父”的是()。
设有以下语句typedefstructTT{charc;inta[4];}CIN;则下面叙述中正确的是
Shouldwecareifover150knownspeciesofanimalshave【C1】______fromtheearthinthelastfiftyyears?Shouldwebeconcerned
Thebypassoperation(心脏搭桥手术)【C1】______open-heartsurgeryinwhichthephysiciantakesaveinfromthepatient’slegand【C2】___
最新回复
(
0
)