首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class Base { public: void output() { cout<<1; } virtua
有如下程序: #include <iostream> using namespace std; class Base { public: void output() { cout<<1; } virtua
admin
2017-10-17
35
问题
有如下程序: #include <iostream> 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 (); }程序的输出结果是
选项
A、1B
B、1D
C、2B
D、2D
答案
B
解析
本题考查的知识点是:虚函数与多态性。在成员函数声明的前面加上virtual修饰,即把该函数声明为虚函数。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。本题中,就是通过基类Base的指针ptr指向new出来的派生类Derived对象,从基类的定义中可以看出,output()函数是普通成员函数,而Print()函数是虚函数。所以,通过ptr指针调用的output()是基类中的output(),而通过它调用的Print()则是派生类中的Print()。故本题的输出结果是1D,应该选择B。
转载请注明原文地址:https://kaotiyun.com/show/WXAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据的存储结构是指
若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入语句【】。
在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是
在数据库系统中,数据具有独立性。由于数据的存储结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。这种独立性称为【 】。
在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是()。
下列运算符中,不能重载的是
已有如下定义和输入语句,若要求a、b、c、d分别得到的值为10、20、’A’和’B’,当从第一列开始输入数据时,正确的数据输入方式是()。inta,b;charc,d;Cin>>a>>b>>c>>d;
下列选项中,正确的C++标识符是
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是______。#include<iostream>usingnamespacestd;c
多态性分两类:编译时的多态性和______。
随机试题
提供个性化服务并不容易,关键在于导游人员()。
破产财产应当首先支付()
人与自然相处时应遵循的基本原则是()。
A.麻醉药品B.精神药品C.毒性药品D.放射性药品E.戒毒药品每次处方剂量不得超过2日极量的是
蒸压加气混凝土砌块,在下列范围中,何者可以采用?[2017—027,2009—013,1998—048]
会计报表附注中必须说明企业所遵循的基本会计假设。()
下列关于具体科学与哲学关系的表述,正确的是()。①没有具体科学的产生和发展就没有哲学②具体科学是哲学产生和发展的基础③哲学是科学,科学也是哲学④哲学为具体科学研究提供世界观和方法论
直角三角形ABC的斜边长4.(1)直角三角形ABC的面积等于10;(2)直角三角形ABC的一个内角等于30°.
数据库管理系统由三级模式组成,其中决定DBMS功能的是______。
A、Theyarenotasnaturalaswebelieved.B、Theyarelesshealthythanweexpected.C、Theyaremorenutritiousanddelicious.D、
最新回复
(
0
)