首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class B{ public: virtual void f(){cout<<"B";} void g(){cout<<"B";) }; class D:pub
有如下程序: #include<iostream> using namespace std; class B{ public: virtual void f(){cout<<"B";} void g(){cout<<"B";) }; class D:pub
admin
2015-11-24
72
问题
有如下程序:
#include<iostream>
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->f();p->g();}
int main(){
D obj;
h(&obj);
return 0;
}
运行这个程序的输出结果是( )。
选项
A、DD
B、BB
C、BD
D、DB
答案
D
解析
在基类B中定义虚函数f()和成员函数g(),而在派生类D中定义了函数f()和同名函数g( )。而函数h中的形参为指向基类的指针变量p,所以在主函数中执行h(& obj)时,会调用派生类的函数f(),输出D,再调用基类的函数g(),输出B。
转载请注明原文地址:https://kaotiyun.com/show/3lNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于下面的程序ifstreamfin(c:\test.txt);if(fin)cout<<"ok";elsecout<<"wrong";对于if语句中的内容可
以下对C++语言函数的有关描述中,正确的是
每个C++程序中都必须有且仅有一个
有以下程序#include<iostream>#include<string>usingnamespacestd;classbase{private:charbaseName[10];public:base
下列对模板的声明中,正确的是
考虑下面的函数原型:voidf(inta,intb=7,charc=’@’);下面的函数调用中,不合法的是
下述关于数据库系统的叙述中正确的是
下列叙述中正确的是
以下叙述中不正确的是()。
C++流中重载了运算符<<,它是一个()。
随机试题
企业资产评估的范围包括【】
主动脉瓣关闭不全时主要引起
具有萘醌结构的是具有邻醌结构的是
固结试验适用于()。
履约担保的保留金退还规定是()。
【波斯帝国】首都师范大学2002年世界上古史、中古史真题;华中师范大学2003年世界古代史真题;首都师范大学2017年历史学基础综合真题
(2011年试题,23)设A为三阶实矩阵,A的秩为2,且求A的特征值与特征向量;
Publicimage【C1】______tohowacompanyisviewedbyitscustomers,suppliers,andstock-holders,bythefinancialcommunity,by
Mr.Schaeublesaysheandotherpartymembersbearsomeresponsibilitiesforthepartyfundingscandalbecause______.
A、Justlistthenameoftheirschools.B、Listthegradesoftheirqualifications.C、Keepthelistshortandbrief.D、Includeeve
最新回复
(
0
)