首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } };
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } };
admin
2009-06-20
47
问题
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } }; class D: public B{ public: void show() { cout<<"D"; } }; void fun1(B *ptr) { ptr->show();} void fun2(B &ref) { ref. show();} void fun3(B b) {b.show();} int main() { B b,*p=new D; D d; fun1(p); fun2(b); fun3(d); return 0; }程序的输出结果是
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
本题考查的知识点是:虚函数与多态性。在成员函数声明的前面加上virtual修饰,即把该函数声明为虚函数。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。题目中,fun1()和fun2()的形参分别是基类的指针和引用,如果传入的实参是指向派生类对象的指针或派生类对象,则函数中调用的show()为派生类中的show(),否则为基类中的show()。给fun1()传入的实参是指向派生类对象的指针p,而给fun2()传入的实参是基类对象。所以 fun1()调用派生类D中的show()输出一个’D’字符,fun2()调用基类B中的show()输出一个’B’字符。fun3()由于形参为基类对象,所以无论传入的是基类对象还是派生类对象,函数中调用的show()始终为基类的版本,输出一个’B’字符。故最终输出结果为 DBB,应该选择C。
转载请注明原文地址:https://kaotiyun.com/show/7ojp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。1#include<stdio.h>
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
若有定义:inta,b,c;以下程序段的输出结果是()。a=11;b=3;c=0:printf("%d\n",c=(a/b,a%b));
下列叙述中,不属于设计准则的是()。
待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第()个位置。
设有定义:struetcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是()。
有如下程序:#include<stdio.h>voidmain(){intx=0x13;if(x=0x18)printf("T");printf("F\n");}程序运行后的结果是()。
下列叙述中错误的是( )。
一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )
随机试题
案情:某日,甲到乙开办的饭店用餐,饭后离开时不慎将背包遗忘在座位上,背包内有现金一万元。乙发现后私自隐匿。甲发丢失手提袋后立即返回饭店寻找,乙声称没有看到。甲遂向市公安机关报案,公安机关称该案不属于其管辖范围,不予受理。甲只得聘请律师,向该市人民法院提起诉
设随机变量X~U(0,1),Y~E(1),且X,Y相互独立,求随机变量Z=X+Y的概率密度.
金朝录用女真人为行政官员的途径有()
某发热患者,最高体温达39.8℃,最低体温为37.5℃。此热型为()
煅淬法常用的淬液有()
根据药品生产监督管理的规定,药品生产监督管理包括的依法对药品生产条件和生产过程的管理活动是
5p部分单体综合征患者皮纹特点为通贯手、斗形纹比例高等。()
目前,造价估算中允许的误差幅度一般为( )。
某公司注册资本为100万元。2014年,该公司提取的法定公积金累计额为60万元,提取的任意公积金累计额为40万元。当年,该公司拟用公积金转增公司资本50万元。下列有关公司拟用公积金转增资本的方案中,不符合《公司法》规定的是()。
WhenMelissaMahanandherhusbandvisitedtheNetherlands,theyfeltimprisonedbytheirtourbus.Itforcedthemtoseetheci
最新回复
(
0
)