首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ public: void output(){cout<<1;} virtual void Print()}co
有如下程序: #include using namespace std; class Base{ public: void output(){cout<<1;} virtual void Print()}co
admin
2020-12-21
32
问题
有如下程序:
#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,执行pfr->output后,会执行基类的output函数,输出1,由于Print是虚函数,所以ptr->Print()会执行派生类的Print,即输出D,所以本题答案为B。
转载请注明原文地址:https://kaotiyun.com/show/SOyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义classMyClasspublic:Private:intdata;};若要为MyClass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入MyClass类的对象obj,
有如下程序: #include<iostream> using namespace std; class Demo { public: Demo(){ cout<<"def
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
已知类Myclass的定义如下:classMyClass{public:MyClass(intD){data=d;}~MyClass(){}private:intdata;};下列对
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; }
下面是重载为非成员函数的运算符函数原型,其中错误的是
已知主函数中通过如下语句序列实现对函数模板swap的调用:inta[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是()。A)template<ty
下列关于模板形参的描述中,错误的是
有如下函数定义;void func(int a,int & b){a++;b++;}若执行代码段:int x=0,y=1;func(x,y);则变量x和y的值分别是
下列叙述中正确的是
随机试题
A.骨骼B.肾脏C.肝脏D.骨髓E.神经组织铅的主要蓄积部位是()
支气管哮喘的肺功能异常,主要表现在
治疗要获得患者的知情同意,其道德价值应除外
血管紧张素转化酶(ACE)抑制剂卡托普利的化学结构是
投入施工现场的劳动力由()组成。
根据企业所得税相关规定,关于研发费用加计扣除的说法。正确的有()。
某企业只生产一种产品,2011年产销量为5000件,每件售价为240元。成本总额为850000元。在成本总额中,固定成本为235000元,变动成本为495000元,混合成本为120000元(混合成本的分解公式为Y=40000+16X),2012
在订立合同的过程中,假借订立合同,蓄意进行磋商的,给对方造成损失的,应承担的责任是()。
PrintFormat(1234.56,"###.#")语句的输出结果是
在软件开发中,需求分析阶段产生的主要文档是()。
最新回复
(
0
)