首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include<iostream> using namespace std; class Base{ public: void output(){cout<<1;} virtual void Print(){cout<<’B’;} }; c
有如下程序; #include<iostream> using namespace std; class Base{ public: void output(){cout<<1;} virtual void Print(){cout<<’B’;} }; c
admin
2015-11-24
61
问题
有如下程序;
#include<iostream>
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/tlNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
拷贝构造函数的参数一般是
设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>B)&&(n=c>D)运算后,n的值为
下列关于动态联编的描述中,错误的是()。
下列关于虚基类的描述中,错误的是()。
下面叙述不正确的是
下列关于运算符重载不正确的是
下列关于多态性的描述,错误的是
多态性指的是()。
随机试题
全球最大的传播媒体是()
A.肝素B.枸橼酸钠C.EDTAK2D.草酸铵E.双草酸盐适用于红细胞沉降率测定的抗凝剂为
A、吸附色谱B、离子交换色谱C、聚酰胺色谱D、正相分配色谱E、凝胶色谱一般分离非极性化合物可用
A.紫外一可见分光光度法B.薄层色谱扫描法C.高效液相色谱法D.气相色谱法E.滴定法药典规定,在青黛中测定靛蓝含量的方法是
在费用优化时,当需要缩短关键工作的持续时间时,其缩短值必须符合下列原则( )。
上市公司的资产重组方式主要有()等类。
(2014年卷一第58题)吴某于2011年4月10日针对某专利提出无效宣告请求。下列哪些情形下专利复审委员会对该无效宣告请求不予受理?
如果研究正常志愿者和语言区受损的患者在Stroop任务上的脑区活动差别,最佳选择的是()
F.ScottFitzgeraldisnottheauthorof
A—AnnualleaveB—SickleaveC—BackgroundscreeningD—BigdataE—ChildlaborF—Contractofservice
最新回复
(
0
)