首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void funlO{cout
有如下程序: #include using namespace std; class Base { public: void funlO{cout
admin
2020-04-07
24
问题
有如下程序:
#include
using namespace std;
class Base
{
public:
void funlO{cout<<“BasCn”;)
virtual void fun20{cout<<“BasCn”;)
};
class Derived:public Base
{
public:
void funlO{cout<<”Derivedha”;)
void fun2(){cout<<”DerivedLq”;)
);
void f(Base&b){b.funl0;b.fun2();)
int main()
{
Derived obj;
f(obj);
return 0:
}
执行这个程序的输出结果是( )。
选项
A、Base
Base
B、Base
Derived
C、Derived
Base
D、Derived
Derived
答案
B
解析
此题考查的是虚函数的概念。在C++语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obi,所以在调用fun()时,运行的是基类的版本,而fun2()运行的是派生类的版本。
转载请注明原文地址:https://kaotiyun.com/show/U38p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的打印结果是【】。#include<iostream>usingnamespacestd;classBase{public:Base(intx){
有如下程序:#include<iostream>usingnamespacestd;classComplex{doublere,im,public:Complex(dou
在函数中,可以用auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
两个关系有若干相同属性名等值连接,并去掉重复属性的关系代数运算称为______。
下列运算符中,不能重载的是
在有n个结点的二叉链表中,值为非空的链域的个数为______。
下列有关C++流的叙述中,错误的是
下面程序要实现的功能是打开当前目录下的文件abc,并向其追加一串字符“Howareyou!”,然后再关闭该文件,请将程序填写完整。#include<fstream.h>voidmain(){【】
通常拷贝构造函数的参数是
随机试题
将题43图所示的E-R图转换成对应的关系模型,并注明主码。
过期妊娠患者,24小时尿雌三醇是评价胎盘功能的重要指标,下列哪些结果可能代表胎盘功能低下:
以下有关输液的叙述不正确的是
能与HIV表面的gp120结合的细胞是
班氏尿糖定性结果出现黄绿色反应,应判断为
下列选项中,关于行政处罚的说法错误的是:()
下面旋律的调式是()
简述前运算阶段儿童认知的特点。
关于减刑和假释的程序性条件正确的说法有()。
Routingprotocolsusedifferenttechniquesforassigning(1)toindividualnetwork.Further,eachroutingprotocolformsametricag
最新回复
(
0
)