首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class Base{ public: void output0{cout
有如下程序; #include using namespace std; class Base{ public: void output0{cout
admin
2015-09-14
54
问题
有如下程序;
#include
using namespace std;
class Base{
public:
void output0{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
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上vimal关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。本题中,从基类的定义可以看出:output()函数是普通成员函数,而Print()函数是虚函数。所以,通过ptr指针调用的output()是基类中的output(),而通过它调用的Pfint()则是派生类中的Print()。
转载请注明原文地址:https://kaotiyun.com/show/jqNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序:#include<iostream>usingnamespacestd;intf(){staticinti=O;ints=1;s+=i;i++
以下程序的执行结果为【】。 #include<iostream> usingnamespacestd; classbase { public: virtualvoidwho() { cout<<
派生类的对象对它的基类成员中(),是可以访问的。
下列引用的定义中,()是错误的。
关于C++语言与C语言关系描述中错误的是
下列不属于结构化分析的常用工具的是
一个关系中属性个数为1时,称此关系为
下列关于单目运算符++、--的叙述中,正确的是()。
可以通过下面哪些函数实现类的多态性( )。
首先访问结点的左子树,然后访问该结点,最后访问结点的右子树,这种遍历方式称为 ( )。
随机试题
如果碱基序列具有回文结构,限制性内切酶识别的位点一般为连续的几个碱基
某纺织工厂,滴虫性阴道炎发病率很高,为预防其传播,下列不必要的措施是
根据造价工程师执业资格制度,注册造价工程师的权利有()。
组织流水施工时,确定流水步距应满足的基本要求是()。
开户单位支付给个人的款项中,支付现金每人一次不得超过1000元,超过限额部分,根据提款人的要求在指定的银行转为储蓄存款或以支票、银行汇票支付。()
当地一家报社未经允许私自刊登了小丽的一篇文章,这侵犯了小丽()的权利。
下列关于一国领海的表述,不正确的是:
Expressionismisa(n)ItcanbeinferredfromthepassagethattheExpressionistswere
有如下程序:PrivateSubCommand1_Click() DimiAsInteger,jAsInteger DimsumAsInteger n=1 Do j=1 Do sum=su
Thefifthgenerationcomputers,withartificialintelligence,______andperfectednow.
最新回复
(
0
)