首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
23
问题
有如下程序:
#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>usingnamespacestd;classGA{public:virtualintf(){return1;}};classGB:
有如下4个语句: ①count<<’A’<<setfill(’x’)<<left<<setw(7)<<’B’<<endl; ②count<<setfill(’x’)<<left<<setw(7)<<’A’<<’B’<<endl; ③cou
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#include<iostream>using namespace std;class Base{ int a,b;public
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
下面是重载为非成员函数的运算符函数原型,其中错误的是
针对数组定义int data[10];,下列表述中错误的是
以下叙述正确的是
对于语句cout<<endl<<x中的各个组成部分,下列叙述中错误的是()。
随机试题
这辆红色轿车可以在该车道行驶
LRC为液位调节仪表。
养老保险
目标是决定此组织区别于彼组织的标志。()
A.气郁化火B.气滞痰郁C.忧郁伤神D.肝气郁结E.阴虚火旺
动脉瘤样骨囊肿常见于
唯物辩证法与形而上学最根本的分歧,在于是否承认()。
刑法上的因果关系是指()之间的关系。
在数据库设计的四个阶段中,每个阶段都有自己的设计内容。“为哪些表、在哪些字段上、建立什么样的索引”。这一设计内容应该属于【】设计阶段。
Ifleadership,atitsmostbasic,consistsofgettingthingsdonethroughothers,thenpersuasionisoneoftheleader’sessenti
最新回复
(
0
)