首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class TestClass { public: virtual void fun1() { cout<<"fu
有如下程序: #include<iostream> using namespace std; class TestClass { public: virtual void fun1() { cout<<"fu
admin
2010-12-16
35
问题
有如下程序: #include<iostream> using namespace std; class TestClass { public: virtual void fun1() { cout<<"fun1TestClass"; } virtual void fun2() { cout<<"fun2TestClass"; } }; class TestClass1:public TestClass { void fun() { cout<<"fun1TestClass1"; } void fun2(int x) { cout<<"fun2TestClass1"; } }; int main() { TestClass obj1,*p; TestClass1 obj2; p=&obj2; p->fun1(); p->fun2(); return 0; } 该程序执行后的输出结果是( )。
选项
A、fun1TestClass1 fun2TestClass
B、fun1TestClass1 fun2TestClass1
C、fun1TestClass fun2TestClass
D、fun1TestClass fun2TestClass1
答案
A
解析
TestClass为基类,Testclass1是TestClass的派生类。基类中的fun1和fun2被定义为虚函数,C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数,所以派生类中的fun1和tim2也是虚函数。本题从main主函数入手,首先定义了TestClass类型的对象obj1和指针p,然后又定义了TestClass1的对象obi2。指针指向对象obi2,然后调用其成员函数 fun1(),即输出“fun1TcstClass1”。多态性是在程序运行过程中才动态地确定操作指针指向的对象,“p->fun2();”语句中没有任何参数,并不是调用派生类中的fun2(int x),而是调用其基类中的fun2(),所以输出“fun2TestClass”。
转载请注明原文地址:https://kaotiyun.com/show/AsVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。例如:二维数组中的值为:13579299946999
给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入:THIsisaboot,则输出应该是:1、0、2、2、0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动
下列给定程序中函数fun的功能是:用冒泡法埘6个字符串按m4,到大的顺序进行排序。请改止程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdli
设有定义:structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是
有以下程序:#include<stdio.h>main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}};inti,j,k,t;for(i=0;i<4;i++)for(j=0
对序线性表(23,29,34,55,60,70,78)用二分法查找值为60的元素时,需要比较次数为()。
设有定义:charp[]={’1’,’2’,’3’},*q=p;以下不能计算出一个char型数据所占字节数的表达式是()。
以下关于C语言数据类型的叙述中正确的是()。
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。
随机试题
据一份研究报告测算,2011年某国实现国内生产总值74,772.4亿元,其中公有经济实现56,676.2亿元,非公有经济实现18,096.2亿元,分别占整个国民经济的75.8%和24.2%。在公有经济中,国有经济实现31,295.6亿元,集体经济实现25,
阑尾()
正常小儿前囟闭合的年龄是:
护士的职业情感不包括
组织工具包括()。
甲公司根据乙公司的选择,向丙公司购买了1台大型设备,出租给乙公司使用,乙公司使用该设备时,发现该设备不能正常运行,关于该融资租赁合同的说法正确的是()。
根据《商业银行风险监管核心指标》,商业银行累计外汇敞口头寸比例不得超过()。
长期待摊费用是指企业将要发_牛并且应由以后各期负担的分摊期限在一年以上的各项费用。()
中国公民李某为某外资公司的高级职员,2009年的收入情况如下:(1)单位每月支付工资、薪金10000元;(2)当年12月底,单位和李某协商,解除劳动合同,单位除支付当月工资外,另外一次支付李某补偿金20万元(李某在该单位任职5年);
有以下程序: #include<stdio.h> intf(intx,inty) { return((y-x)*x); } main() { inta=3,b=4,c=5,d; d=f(f(a,b),f(a,c));
最新回复
(
0
)