首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
admin
2017-10-17
50
问题
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} virtual void fun2(){tout<<"Base\n";} }; class Derived:public Base { public: void funl() {cout<<"Derived\n"; } void fun2() {cout<<"Derived\n"; } }; void f(Base& b) {b.funl(); b.fun2(); } int main() { Derived obj; f(obj); return 0; } 执行这个程序的输出结果是
选项
A、Base Base
B、Base Derived
C、Derived Base
D、Derived Derived
答案
B
解析
本题考查的是虚函数的概念。在C++中,一个派生类的对象可以被它的任何一个基类的指针所指向(或被基类类型的引用所引用)。若基类和派生类中存在一模一样的成员函数,那么通过该基类指针(或引用)调用这样的成员函数,究竟是应该调用基类中的还是调用派生类中的呢?答案是:若这个成员函数被定义成虚函数,那么就调用派生类中的;否则会调用基类中的。本题是一个典型的例子,funl()是一般成员函数,fun2()是虚函数,而且在派生类与基类中都存在两个这样的函数。在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obi。所以在调用fun()时,运行的是基类的版本,而fun2()运行的是派生类的版本。故选项 B中的结果是正确的。
转载请注明原文地址:https://kaotiyun.com/show/KWAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中,不属于软件需求规格说明书的作用的是
执行下列程序时输入123<空格>456<空格>789<回车>,输出结果是 main() {char s[100]; int c. i; scanf("%c", &c); scanf("%d"
下列关于虚函数与函数重载区别的叙述中不正确的是
用黑盒技术设计测试用例的方法之一为()。
______成员函数中不能直接引用类中说明的非静态成员。
下列对模板的声明中,正确的是()。
对虚函数使用对象指针或引用调用,系统使用______联编;使用对象调用时,系统使用_____联编。
运算符重载仍然保持其原来的优先级、________和________
下列对派生类的描述中,()是错误的
数据流图有两种典型的结构形式,它们分别是变换型和【】。
随机试题
碳中和的实现离不开我们在生活中时刻践行“低碳生活”。以下哪项不属于日常生活中倡导的低碳生活方式?
我国很多行政机关实行“双重领导”或“双重负责”,行政组织体制基本上属于()。
囊状水瘤多位于
下列属于注册监理工程师的权利的有()。
监理工程师在实施监理过程中,发现某设计变更洽商内容不符合国家相关技术标准,则()。
某小学四年级学生宋明性格活泼好动,经常与同学打闹,有时还和同学争吵打架。一次宋明又和同学打架,班主任老师在全班严厉地批评了宋明,并说:“宋明你就这样做吧,早晚有一天你和你爸爸一样也进监狱”。以后同学们都知道了宋明父亲在监狱服刑的情况,经常羞辱宋明,宋明母亲
(首都经济贸易大学2011年初试真题)谈谈你对纳税人权利保护的理解。
下列不是非特权指令的是()。重复
在考生文件夹下完成下列操作:(1)修改程序proone.prg中带有注释的四条语句(修改或填充,不要修改其他的语句),使之能够正常运行,程序的功能是将大于等于11并且小于等于2011的素数存储于表prime中。修改完成后请运行该程序。(
Themainreasonforthepopulationgrowthisn’tsomuchariseinbirthrates______afallindeathratesasaresultofimprov
最新回复
(
0
)