首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ public: void output(){cout
有如下程序: #include using namespace std; class Base{ public: void output(){cout
admin
2021-06-10
26
问题
有如下程序:
#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
解析
在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个指向派生类对象的基类指针ptr,执行ptr一>output后,会执行基类的output函数,输出1,由于Print是虚函数,所以ptr一>Print()会执行派生类的Print,即输出D,所以本题答案为B。
转载请注明原文地址:https://kaotiyun.com/show/NMfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classBase{intx;public;Base{intn=0};x(n){cout
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
已知有数组定义chara[3][4];下列表达式中错误的是()。
有如下类定义:classMyclass{intx;public:Myclass():x(O),y(0){}intGetX(){returnx,}voidSetX(intxx){x=
数据库设计过程不包括()。
有如下类定义:classMyClass{public:private:intdata;};若要为MyClass类重载流输入运算符“>>”,使得程序中可以“cin>>obj;”的形式改变MyClass类的对象obj中数据成员data的值,则
下列叙述中正确的是()。
下列关于栈的叙述正确的是()。
下列关于模板的叙述中,正确的是()。
随机试题
特殊建设工程消防验收程序不包含()。
对医院的全部医疗工作至关重要,必须在患者就诊的第一时间完整准确收集的是
患者,女,18岁,未婚,近半年来月经多提前10日许,量多色深红,质稠,头晕面赤,尿黄便结,舌红苔薄黄,脉滑数,治疗的主方应选
A、黄柏B、秦皮C、木通D、肉桂E、牡丹皮含草酸钙簇晶的药材为
复合电压起动的过电流保护或低电压闭锁的过流保护不宜用于()。
下列说法正确的是()。
根据下列资料,回答下列问题:根据上图,下列关于全国重点城市平均地价增长率情况的表述,正确的一项是:
马克思主义哲学最伟大的贡献是()。
函数z=1-(x2+2y2)在点处沿曲线C:x2+2y2=1在该点的内法线n的方向导数为_________。
Listentome,child,anhonestboymustn’t______lies.
最新回复
(
0
)