首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
admin
2020-06-29
40
问题
有如下程序:
#include
using namespace std;
class B{
public:
virtual void show(){cout<<"B";}
};
class D:public B{
public:
void show(){cout<<"D";}
};
void funl(B*ptr){ptr->show();}
void fun2(13&ref){ref.show();}
void fun3(13 b){b.show();}
int main()
{
B b,*p=new D;
D d;
fun1(p);
fun2(b);
fun3(d);
delete p;
return 0:
}
执行这个程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
在某基类中声明为vjrtual并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象b、对象指针*p=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/he8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C++在重载运算将中,如用成员函数重载一元运算符参数表中需要______个参数,如用友元函数重载一元运算符参数表中需要______个参数。
在面向对象方法中,允许作用于某个对象上的操作称为【】。
如果表达式--x/y中的“--”和“/”都是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示()。
有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是
下述静态数据成员的特性中,()是错误的。
下列语句分别是不同程序中的第一个输入/输出语句,若去掉其中的“<<left”,则输出效果将发生变化的是
下列叙述中正确的是
下列选项中,正确的C++标识符是()。
下列有关运算符重载的表述中,正确的是
下列关于运算符重载的表述中,错误的是
随机试题
UnderscoringtheimportanceofAsiatotheUSinthenewcentury,HillaryClintonisbreakingwithtraditionasnewSecretaries
关于巴氏染色法的描述,下列不正确的是
10个月小儿,面黄来诊,诊断为营养性小细胞性贫血。下述处理哪项是不必要的
禁用热水坐浴的疾病是
按照现金流量表准则的规定,下列不属于企业经营活动现金流量的是()。
在传统技术环境下,组织的管理沟通大多采用()方式。
数据模型可分为概念数据模型和结构数据模型,层次模型是______数据模型。
设窗体上有一个Text1文本框和一个HScroll1水平滚动条,并有下面的事件过程:PrivateSubHScroll1_Change()Text1=HScroll1EndSub在程序运行时,当把滚动框移动
WhenIreachedLondon,ithadoneofthethickestfogsinyears.Icouldhardlyseemyhandinfrontofmyface;carsandhouses
(1)Theirdefenderssaytheyaremotivated,versatileworkerswhoarejustwhatcompaniesneedinthesedifficulttimes.Toother
最新回复
(
0
)