首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inc1ude <iostream> using namespace std; c1ass Base { public: void funl(){cout<<"Base\n";} vi
有如下程序: #inc1ude <iostream> using namespace std; c1ass Base { public: void funl(){cout<<"Base\n";} vi
admin
2019-06-04
54
问题
有如下程序:
#inc1ude <iostream>
using namespace std;
c1ass Base
{
public:
void funl(){cout<<"Base\n";}
virtual void fun2(){cout<<"Base\n";}
};
c1ass Derived: public Base
{
public:
void fun1(){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++语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f0函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obj,所以在调用fun10时,运行的是基类的版本,而fun20运行的是派生类的版本。
转载请注明原文地址:https://kaotiyun.com/show/F68p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C采用intA[]={3,4,9,8}定义数组A,则A中只有4个元素,而题干要求的是7个元素,A[4]、A[5]、A[6]3个元素就不存在。
A、 B、 C、 D、 C根据对二叉树根的访问先后顺序不同,分别称为前序遍历、中序遍历和后序遍历。这3种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就是前序遍历方法的递归定义。当二叉树的根不
自顶向下程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()。
以下哪个不是C++语言中的有效标识符?
下列字符串中,正确的C++标识符是()。
下列字符串中可以用作C++语言标识符的是
以下选项中合法的用户标识符是
随机试题
计算
下列哪项不是绞窄性肠梗阻的临床表现
导致根尖周病的主要感染途径是()。
采用聚乙烯(HDPE)膜防渗技术进行生活垃圾填埋处理的施工控制要点包括()。
提前还款条款的内容不包括()。
该公司2005年的销售净利率为()。该公司在进行绩效分析时,为判断自身所处的发展阶段,对成长能力特别关注。反映该公司成长能力的指标有()。
下列关于核酸的叙述,正确的是()。
德育方法包括教育者的——的方式和受教育者的受教修养方式。
(2008下项管)可行性研究主要从______等方面进行研究。
二维数组A[0…8][0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为
最新回复
(
0
)