首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
52
问题
有如下程序: #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://kaotiyun.com/show/gPVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
给定程序MODI1.C中fun函数的功能是:根据整型形参m,计算如下公式的值。例如,若主函数中输入5,则应输出.0.283333。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不
有如下程序#include<stdio.h>main(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i<data)
有以下程序,其中%u表示按无符号整数输出()。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf("%u\n",x);}程序运行后的输出结果是()。
以下程序的输出结果是()。#include<stdio.h>main(){inta=4,b=3,c=2,d=1;printf("%d",a<b?a:d<c?d:b);}
以下叙述中正确的是()。
若定义函数int*func(),则函数func的返回值为()。
已知chara;intb;floatc;doubled;则表达式a-b+c-d结果为()型。
若有定义语句:chars[10]="1234567\0\0";则strlca(s)的值是()。
若有定义:inta-7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。
组成C++语言的基本符号包括:字母、数字和【】。
随机试题
A、药理学B、药动学C、药效学D、治疗学E、药剂学研究机体对药物如何处置过程的学科是
A.α受体B.β受体C.M受体D.N1受体E.N2受体导致心脏房室传导减慢的受体是
在类风湿关节炎中,最先受累的关节组织是
在我国当前的金融监管中,中国人民银行的职能为()。
初次发生的交易或事项采用新的会计政策属于会计政策变更,应采用追溯调整法进行处理。()
作为金融活动的载体,可以在金融市场上交易的是()。
2013年5月1日,在泰国访问的中国外交部长王毅在会见泰国总理英拉时表示,中泰关系具有特殊性、稳定性和_______三个显著特点。王毅表示,希望通过此次访问深化中泰睦邻友好与务实合作,让两国关系好上加好、亲上加亲,将中泰全面战略伙伴关系提高到新水平。
说感冒是“不治之症”,并不是说,患了感冒,一定会死,“不治”有两重含义,一是感冒无需专门的治疗,二是没有可以治愈感冒的药物。资料统计说,90%的感冒是病毒引起的,只有10%是由细菌感染引起的。细菌和病毒的区别在于:细菌有细胞,病毒没有细胞,只有核糖核酸,、
下列关于宪法与宪政的关系说法错误的是
Thiscompanyprovidesservicesforanybreakdownfreeofchargewithinoneyearofpurchase.Ifdamageresultsfromimproperuse
最新回复
(
0
)