首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
35
问题
有如下程序:
#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全国计算机二级
相关试题推荐
有如下程序: #include<iostream> using namespace std; int main() { int *p; *p=9; cout<<"The value at p:"<
有如下程序: #include<iostream> using namespace std; class Demo { public: Demo(){ cout<<"def
有如下程序:#includeusingnamespacestd;classC1{public:-Cl()}cout
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。
下列关于函数参数的叙述中,正确的是
下面是重载为非成员函数的运算符函数原型,其中错误的是
有如下函数定义;void func(int a,int & b){a++;b++;}若执行代码段:int x=0,y=1;func(x,y);则变量x和y的值分别是
以下叙述正确的是
下列关于C++预定义流对象的叙述中,正确的是()。
随机试题
用户连接Inteenet网有两种连通方式:通过()进入和()直接上网。
下列有关系统性红斑狼疮的皮肤护理的叙述不正确的是
胰腺假性囊肿主要并发于
血药浓度一时间下面积表面活性剂在溶液中开始形成胶团时的浓度
A.对乙酰氨基酚B.双氯芬酸C.尼美舒利D.阿司匹林E.塞来昔布中度或重度肝损伤及严重肾功能不全者禁用的药物是
王某为某普通高校应届毕业生,23岁,尚未就业。根据《宪法》和法律的规定,关于王某的权利义务,下列哪一选项是正确的?(2014年卷一24题)
招标代理人应对()等行为承担违约责任。
每次咨询记录的内容包括()。
编制一个好的程序首先要确保它的正确性和可靠性,还应强调良好的编程风格。在选择标识符的名字时应考虑()。
Sometimeago,Idiscoveredthatoneofthechairsinmyfronthallhadabrokenleg.Ididn’tforeseeanygreatdifficultying
最新回复
(
0
)