首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class Base{ public: void output(){cout
有如下程序; #include using namespace std; class Base{ public: void output(){cout
admin
2020-04-07
11
问题
有如下程序;
#include
using namespace std;
class Base{
public:
void output(){cout<<1;}
virtual void Print(){cout<<ˊBˊ;}
};
class Derived:public Base{
public:
void output(){cout<<2;)
void Print(){cout<<ˊDˊ;}
};
int main(){
Base*ptr=new Derived;
ptr->output();
ptr->Print();
delete ptr;
return 0;
}
程序的输出结果是( )。
选项
A、1B
B、1D
C、2B
D、2D
答案
B
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。本题中,从基类的定义可以看出:output()函数是普通成员函数,而Print()函数是虚函数。所以,通过ptr指针调用的output()是基类中的output(),而通过它调用的Print()则是派生类中的:Print()。
转载请注明原文地址:https://kaotiyun.com/show/uy8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
重载的关系运算符和逻辑运算符的返回类型应当是______。
以下程序的结果是()。#include<iostream.h>voidmain(){char*p="abcdefgh",*r;long*q;q=(long*)P;q++;r=(char
下列关于派生类的构造函数的说法中,哪个是错误的______。
下列是重载乘法运算符的函数原型声明,其中错误的是( )。
设有定义语句:doublex=2.5,y=4.7;inta=7;,那么表达式x+a%3*(int)(x+y)%2/4的值为【】。
执行下列语句段后程序的输出结果是__________。intx[]={1,2,3,4,5};int*q=x;cout
下列链表中,其逻辑结构属于非线性结构的是
若要在程序文件中进行标准输入输出操作,则必须在开始的# include命令中使用头文件【 】。
public运算符可以重载为成员函数或友元函数,但是应该把函数说明为公有的,以便各个量都能引用。
随机试题
CSF黄色可见于以下疾病,但除外
老年人心悸多病程日久,往往阴损及阳,阳损及阴,而成阴阳俱虚证候。()
《中华民国训政时期约法》
保险公估从业人员在从业过程中,要如实、客观地反映实际情况,在处理某种业务或形成某种见解之时,不应受外界影响,也不应迁就任何个人或集体的片面要求。这说明保险公估从业人员在执业过程中应该( )。
项目质量控制复核是指在出具报告前,对。项目组做出的重大判断和在准备报告时形成的结论做出客观评价的过程。对审计工作底稿进行独立复核的意义在于()。
从新陈代谢的角度看,身体长胖的原因是()。
读某生产企业分布图。该生产企业最有可能是()。
你当上班主任以后需要做好的几件事是什么?
毛泽东在《矛盾论》中指出:关于事物矛盾的问题的精髓,不懂得它,就等于抛弃了辩证法。这里讲的矛盾问题的精髓是指()
TomandMikeweregoodfriends.Sometimestheywerekindtoeachother.Sometimestheywerenot.Someoftheirclassmatessaidt
最新回复
(
0
)