首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void funlO{cout
有如下程序: #include using namespace std; class Base { public: void funlO{cout
admin
2020-04-07
30
问题
有如下程序:
#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全国计算机二级
相关试题推荐
在下列横线处应添加的语句是()。classBase{public:voidfun(){cout<<"Base::fun"<<end1;}};class:Derived:publicBase{public:
关于函数重载,下列叙述中错误的是()。
A、 B、 C、 D、 C纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型用作继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。
请在下列程序中的横线处填写正确的语句:classSample{public:Sample()()~Sample(){}voidSetData(intdata){//将Sample类
线性表的顺序存储结构和线性表的链式存储结构分别是
下列叙述中正确的是()。
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
通常拷贝构造函数的参数是
A、 B、 C、 D、 B在引用函数模板时,如果没在函数名和参数之间加上类型参数,就默认表示参数类型严格按照模板定义的类型匹配;如果在函数名和参数之间加上了类型参数,则对实参自动进行类型转换。
随机试题
润滑剂用量不足混合不均匀或可溶性成分迁移
在土的含水率平行试验中,当含水率在40%以上时,允许平行试验差值为4%。()
某市拟于2004年12月8日拍卖位于市区的10宗住宅用地,若以拟拍卖土地为一统计总体,则其中对A宗土地面积的统计表述应属()。
2007年年初,总局通报了投资1123亿元的82个严重违反环评和“三同时”制度的( )等项目,首次启动“区域限批”措施,以遏制高污染、高耗能产业的迅速扩张。
商业性开发是指()。
关于施工总进度计划的特点,下列说法中正确的有()。
某项目设备及工器具购置费为2000万元,建筑安装工程费为1500万元,工程建设其他费为500万元,基本预备费为200万元,涨价预备费为100万元,建设期贷款利息为120万元,铺底流动资金为100万元,则该项目的静态投资为()万元。
对涉嫌转移或者隐匿违法资金的银行机构及其工作人员以及关联行为人的账户,经()批准,可以申请司法机关予以冻结。
求下列极限:(I)w=(Ⅱ)w=
Itisaknownfactthatphysicalactivityimprovesoverallhealth.Notonlydoesitimprovecirculation,increasebloodflowto
最新回复
(
0
)