首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void f(){cout
有如下程序: #include using namespace std; class B{ public: virtual void f(){cout
admin
2013-04-11
14
问题
有如下程序:
#include
using namespace std;
class B{
public:
virtual void f(){cout<<“B”;}
void g(){cout<<“B”;}
};
class D:public B{
public:
void f(){cout<<“D”;)
void g(){cout<<“D”;}
};
void h(B*p){p一>f0;p一>g();}
int main(){
D obj;
h(&0bj);
return 0:
}
运行这个程序的输出结果是
选项
A、DD
B、BB
C、BD
D、DB
答案
D
解析
在基类B中定义虚函数f()和成员函数g(),而在派生类D中定义了函数f()和同名函数g()。而函数h中的形参为指向基类的指针变量p,所以在主函数中执行h(&obj)时,会调用派生类的函数f(),输出D,再调用基类的函数gO,输出B。
转载请注明原文地址:https://kaotiyun.com/show/hINp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知下列语句中的x和y都是int型变量,其中错误的语句是()。
以下不属于对象的基本特点的是()。
在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classApublic:A(){cout<<’A’;}};classB:【】
下面程序执行后的结果是()。#include<iostream>usingnamespacestd;voidfunc1(inti);voidfunc2(inti);charst[]="hello
在重载运算符函数时,下面运算符必须重载为类的成员函数的是()。
在下面的二维数组定义中,______是正确的。
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为______。
下列关于模板的叙述中,错误的是()。
对于语句cin>>x;中的各个组成部分,下列叙述中错误的是()。
在C++中,打开一个文件,就是将这个文件与一个()建立关联,关闭一个文件,就是取消这种关联。
随机试题
中华民族精神的内容是()。
A.蚊B.蜱C.恙螨D.人虱E.鼠蚤流行性斑疹伤寒的传播媒介是
按照滑动后的活动性,岩质边坡的滑坡可划分为:
合同订立的(),体现了民事活动的基本特征,是合同关系不同于行政法律关系、刑事关系的重要标志。
单价表述四要素是计量单位、单价金额、计价货币和目的地。()
根据《商业银行授信工作尽职指引》,授信工作人员应当回避其近亲属申请的客户授信业务。()
甲有个人财产30万元,死后未立遗嘱,甲的妻子乙和甲的哥哥丙仍在世。甲还有一女儿,15年前与丁结婚后不久即去世,未留有子女,丁在其妻子死后对甲乙仍然尽了主要赡养义务,问该遗产该如伺继承?()
设f(x)在(-∞,+∞)有一阶连续导数,且f(0)=0,f"(0)存在.若求F’(x),并证明F’(x)在(-∞,+∞)连续.
Oftenreferredtoas"theheartofafactoringorganization",thecreditdepartmentisresponsibleforgrantingcredittoclien
A.heightB.compensateC.whereasD.imbibeE.reflectF.degreeG.strategyH.replenishI.furtherJ.underK.strongerL.se
最新回复
(
0
)