首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void funlO{cout
有如下程序: #include using namespace std; class Base { public: void funlO{cout
admin
2020-04-07
48
问题
有如下程序:
#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.h>classA{private:intxl;protected:intx2;
重载函数的函数名称相同,但函数的实现和功能不同,系统是靠【】来决定采用哪个函数。
类ostream的成员函数【】用于执行无格式输出,成员函数put用于输出单个字符。
以下程序的输出结果______。#include<iostream.h>voidmain(){inta=0a+=(a=8);cout<<a;
线性表的顺序存储结构和线性表的链式存储结构分别是
【】结构,也称为重复结构,即算法中有一组操作要求反复被执行。
下列字符串中可以用作C++语言标识符的是()。
将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是
下列选项中不属于软件生命周期开发阶段任务的是()。
随机试题
充分必要条件假言推理否定前件式的结构是:在前提中否定充分必要条件假言判断的前件,结论否定它的()。
膀胱三角区有蒂乳头瘤(T1期),肿瘤直径小于2cm,治疗应选择
A.新药B.处方药C.非处方药D.劣药E.假药必须凭医师处方销售、调剂和使用的药品是
患者,女,54岁。有甲亢的病史,近日因过劳和精神受刺激,而出现失眠、心慌、胸闷。体检见心率160次/分,心电图示:有明显的心肌缺血改变,窦性心律不齐。此时最好选用
市场风险的种类,不包括()。
行政处罚只能()。
甲欲射杀乙,明知有可能射中乙旁边的丙,但甲抱着“无所谓”的念头,结果丙被射伤,甲对射伤丙的主观心理态度是()。
简述债权的权能。
Reliefworkerswereshockedbywhattheysaw.
Theveryubiquityofelectroniccommunicationscanhaveasurprisingdownside,notesRichardKohn,amilitaryhistorianattheU
最新回复
(
0
)