首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
53
问题
有如下程序: #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全国计算机二级
相关试题推荐
以下关于宏的叙述错误的是
有以下程序:#includevoidfun(char**p){++p;printf(’’%s\n’’,*p);}voidmain(){char*a[]={’’Monday’’,’’Tuesday’’,’’Friday’’,’’S
有以下程序:#inelude<stdio.h>main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}print
对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
下列关于二叉树的叙述中,正确的是( )。
软件设计中划分模块的一个准则是( )。
在下列选项中,没有构成死循环的程序段是()。
对下列二叉树进行前序遍历的结果为
设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是()。
随机试题
除了那些家喻户晓的“国宝”,中华大地上还有不少动物正处于或正在走向“濒危”行列。由于种种原因,它们所面临的危险还未被重视,甚至它们的名字和样子都________。填入画横线部分最恰当的一项是:
颞叶钩回疝可引起鞍上池:
属于心包堵塞常见症状的是()
腰椎间盘突出患者,急性发作,腰痛伴左下肢放射痛且腰椎出现右侧弯,应考虑突出的髓核位于
钻孔灌注桩浇筑水下混凝土时,导管埋置深度一般宜控制在()。
某年,电信公司投入了巨资改善网络通讯质量和网络覆盖区,结果当年用户增加了20%,但是利润却下降了10%。最可能的原因是:
用5、6、7、8四个数字组成五位数,数字可重复,组成的五位数中至少有连续三位是5的数字有()个。
条件“Not年龄>30”的含义是()。
Itriedtogetoutofthebusiness_____Ifoundimpossibletocarryon.
It’sveryhardtomakeitasapopstar______(因为你会面临很多竞争).
最新回复
(
0
)