首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inc1ude<iostream> using namespace std; class B{ public: virtual void f(){cout<<"B";} void g() {c
有如下程序: #inc1ude<iostream> using namespace std; class B{ public: virtual void f(){cout<<"B";} void g() {c
admin
2020-04-07
18
问题
有如下程序:
#inc1ude<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/qt8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
为了表明一个函数不带返回值,应在定义函数时指定该函数类型为______。
关于类定义中的语句错误的是 classA {ihti; Aa; A*b; char*ch;};
有如下程序: #include<iostream> using namespace std; Class TestClass { private: int x,y; public: TestClass(int
下列选项中,不是C++关键字的是()。A)classB)functionC)friendD)virtual
执行语句序列intx=10,&r=X;cout<<x<<’-’,<<r<<endl;输出结果为【】。
以下对C++语言函数的有关描述中,正确的是
下面关于this指针的说法中错误的是()。
在一个单链表HL中,若要向表头插入一个由指针p指向的节点,则需要执行语句序列()。
下面说法正确的是
若要使用操作符setw进行输出的格式控制,则必须用#include命令包含【】头文件。
随机试题
简述政策方案设计的基本原则。
对于腹痛的临床表现下列各项均恰当,但除外
下列哪项不是艾滋病的口腔表征
A、对乙酰氨基酚B、布洛芬C、西咪替丁D、氢化可的松E、氢溴酸右美沙芬仅用于解热、镇痛的非处方药是()。
综合单价法编制标底的表格有( )。
在国内商业银行的管理中,流动性储备的最主要形式是()。
根据《合同法》的规定,由于债权人的原因,债务人无法向债权人交付合同标的物时,以将该标的物交给提存部门,从而消灭债务,在标的物提存后,标的物毁损、灭失风险责任的承担者是()。
中国的节日历来与文学表现密切相关,历代文人墨客赞美元宵节的诗句________,如今读来仍趣味无穷。填入划横线部分最恰当的一项是:
在一晚间音乐会上,总共有6首歌曲O,P,T,X,Y和Z将被3个歌手G,H和L演唱。这些歌曲将以独唱的形式被连续演出,且每首歌曲只演唱1次。该音乐会的节目组成遵循以下条件:(1)Y必须在T和O的前面;(2)P必须在Z之前在O之后;
IntheUnitedStatesandCanada,aprom,shortforpromenade,isaformaldance,orgettingtogetherofhighschoolstudents.It
最新回复
(
0
)