首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inc1ude <iostream> using namespace std; class Base { public: void funl(){cout<<"Base\n";} vi
有如下程序: #inc1ude <iostream> using namespace std; class Base { public: void funl(){cout<<"Base\n";} vi
admin
2019-06-12
33
问题
有如下程序:
#inc1ude <iostream>
using namespace std;
class Base
{
public:
void funl(){cout<<"Base\n";}
virtual void fun2(){cout<<"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
B、Base Base Derived
C、Derived
D、Derived Base Derived
答案
B
解析
此题考查的是虚函数的概念。在C++语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obj,所以在调用funl0时,运行的是基类的版本,而fun2()运行的是派生类的版本。
转载请注明原文地址:https://jikaoti.com/ti/YxA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序:#includeusingnamespacestd;classTestClass1{public:TestClass1(){x=0:}i
下列程序的输出结果为2,横线处应添加语句()。#includeusingnamespacestd;classTestClass1{public:_________
下列运算符中不能在C++中重载的是()。
有如下程序:#includeusingnamespacestd;classA{public:A(){cout
为了表明一个函数不带返回值,应在定义函数时指定该函数类型为【 】。
下列函数的运行结果是()。#include<iostream.h>intf(inta,intB){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;r
______是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是()。
类继承中,缺省的继承方式是______。
随机试题
人民法院判决第三人承担义务或者减损第三人权益的,第三人有权依法提起上诉。()
柳永《八声甘州(对潇潇暮雨洒江天)》着力抒写的思想情绪是()
典型胃溃疡疼痛的特点是
A、甲硝唑B、米索前列醇C、硫酸铝D、西咪替丁E、奥美拉唑增加黏膜保护层的厚度,减轻胃酸和消化酶的侵蚀,减轻损伤的药为( )。
对犯罪嫌疑人逮捕后的侦查羁押期限不得超过()。
( )是治安管理处罚中最常见的制裁方法。
祖父现在的年龄是小明的6倍,过几年之后,祖父的年龄将是小明的5倍,再过几年之后,祖父的年龄将是小明的4倍,请问小明今年多少岁?
已知a1=2,a2=2,且an=|an-1-an-2|,n=3,4,5,…,则a20,a21和a22的值分别是().
在VisualFoxPro中,使用LOCATEALLFOR命令按条件查找记录,可用来判断命令找到记录的逻辑条件是:
•Lookatthenotesbelow.•Someinformationismissing.•Youwillhearawomanorderingsomeelectricalequipment.•
最新回复
(
0
)