首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
30
问题
有如下程序:
#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;class Base{ int a,b;public
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
有如下程序:#include<iostream>usingnamespacestd;classBase{public:virtualvoidfunction1(){cout<<’0’;}voidf
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; }
下列关于C++函数的叙述中,正确的是
针对数组定义int data[10];,下列表述中错误的是
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是 #include voidmain() {int*p,*q,a,b; p=&a; cout<<"inputa:"; cin>>p; }
下列关于C++预定义流对象的叙述中,正确的是()。
随机试题
宫腔镜检查时间应为
某医学院校的心理课老师询问学生关于医学心理学的概念。医学心理学的表述不恰当的是
属于糖皮质激素禁忌证的是()。
房地产经纪人必须具备的三项基本素质是()。
施工安全隐患防范的一般方法有()。
背景某建筑公司于9月份新开工某大型高档商住小区项目,共计建筑面积22万m2,地上层数38层,其中地下三层到地上六层为商业建筑,其余为民用住宅。由于本工程位于中心城区,属于该市重点工程,施工单位对安全工作非常重视。施工总承包单位成立了项目部组织施工。施工过
说明现象在较长时期内发展的总速度的指标是()。
期货交易采用( )方式。
【2011江西真题】《学记》中提出“道而弗牵,强而弗抑,开而弗达”。这体现了()的教学原则。
Topmarathonrunnerstendtobeleanandlight,starswimmersarelongthighswithhugefeetandgoldmedalweightliftersareso
最新回复
(
0
)