首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
68
问题
有如下程序: #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全国计算机二级
相关试题推荐
以下叙述中正确的是()。
有以下程序:#include<stdio.h>main(){chara=4:printf("%d\n",a=a<<1);}程序运行后的输出结果是()。
有以下程序:#inelude<stdio.h>main(){intx=1,v=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++
数据库应用系统中的核心问题是()。
逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是()。
下列给定程序中,函数fun的功能足:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过函数值返回。例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后,a所指数组中
设有定义:charp[]={’1’,’2’,’3’},*q=p;以下不能计算出一个char型数据所占字节数的表达式是()。
在黑盒测试方法中,设计测试用例的主要根据是()。
为了使模块尽可能独立,要求()。
设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为()。
随机试题
()只要油井无产量连续超过24h,不管油井处于运转还是停止状态都称为生产关井。
北面官制
用免疫荧光法检测ANA,有关核型不正确的是
男性,35岁,发热伴牙龈出血4周。查体:贫血貌,脾肋下3cm,胸骨压痛(+),血红蛋白75g/L,白细胞15.0×109/L,血小板40×109/L,骨髓增生明显活跃,原始细胞占0.62,为进一步诊断,应首选哪项检查()
场地大于1km2或重要工业区,宜建立相当于()导线精度的平面控制网。
某企业上期发生的库存商品盘亏查明原因,属于自然损耗,这时应编制的会计分录为()。
下列关于专项附加扣除的表述,正确的有()。
AsmillionsofAmericanjobsdisappearedoverthepastfewmonths,insomecasesforever,therewasone【C1】________forthenewly
Inthe20thcenturytheplanet’spopulationdoubledtwice.Itwillnotdoubleevenonceinthe【C1】______century,becausebirthr
A、Applytheknowledge.B、Passalloftheexaminations.C、Findnecessaryinformation.D、Completerequiredtasks.A原文中,女士提到,在现实生活中
最新回复
(
0
)