首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class B{ public: virtual void show( ){cout<<"B";} }; class D
有如下程序: #include<iostream> using namespace std; class B{ public: virtual void show( ){cout<<"B";} }; class D
admin
2012-01-20
43
问题
有如下程序: #include<iostream> 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(B&ref);ref.show( );} void fun3(B b){b.show( );} int nlain( ){ B b,*P=Dew D; D d; funl(p); fun2(b); fun3(d); return 0; } 程序的输出结果是
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
基类指针可以指向派生类对象,在对象作为参数传递时,是通过“传值调用”传递给函数的,是单向传递。使用对象指针对函数参数进行传递时,是通过“传址调用”传递给函数的,即函数的形参对象和实参对象指针变量指向同一内存地址;使用对象引用作为函数参数时,也是通过“传址调用”传递给函数的。funl(p)传递的是类D对象的地址,所以调用类D的是show( ),fun2(b)调用的和传递的都是类B的对象引用,所以调用类B的show( )。调用’fun3(d)时,由于void fun3(B b)传递的虽然是D类对象,但是形参是B类对象,所以调用基类B的show( )。
转载请注明原文地址:https://www.kaotiyun.com/show/gPVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是()。#include<stdio.h>main(){inta[3][3]={0,1,2,0,1,2,0,1,2},i,j,s=1;for(i=0;i<3;i++)for(j
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
若定义函数int*func(),则函数func的返回值为()。
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例
请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include—#incl
下列叙述中正确的是
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
设有以下程序段structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;要求输入字符串给结构体变量rec的title成员
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
随机试题
下列不良个性卫生问题中可以用敌意矫正训练法的是()
Mycousindemandedthatshe()accompanymetothedoctor.
以下哪项不是川崎病发生冠状动脉高危因素
各种不可复性牙髓病变宜根管狭窄难以扩通的牙髓炎患牙宜
利用扩散原理制备的缓释制剂有()。
楼层平面放线的内容包括()。
邀请招标方式的优点有()。
根据相关规定,申请造价工程师注册的人员,隐瞒真实情况、弄虚作假的,将受到的违规处罚是()。
下列不属于发展能力指标的是()。
随着大数据、物联网等产业的加速发展,()成为我国的战略性基础设施。
最新回复
(
0
)