首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inc1ude<iostream> using namespace std; class Base{ public: void output() {cout<<l
有如下程序: #inc1ude<iostream> using namespace std; class Base{ public: void output() {cout<<l
admin
2016-11-23
18
问题
有如下程序:
#inc1ude<iostream>
using namespace std;
class Base{
public:
void output() {cout<<l; }
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
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。本题中,从基类的定义可以看出:output()函数是普通成员函数,而Print()函数是虚函数。所以,通过ptr指针调用的output()是基类中的output(),而通过它调用的Print()则是派生类中的Print( )。
转载请注明原文地址:https://jikaoti.com/ti/Met0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若以下定义:structlink{intdata;structlink*next;}a,b,C,*p,*q;且变量a和b之间已有下图所示的链表结构。指针p指向
下列程序的输出结果为#include<iostream.h>voidmain(){char*a[]={"hello","the","world"};char**pa=a;pa++;
为了便于对照检查,测试用例应由输入数据和预期的【】两部分组成。
【】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。
假定int类型变量占用两个字节,其有定义intx[10];{0,2,4};,则数组x在内存中所占字节数是
对虚函数使用对象指针或引用调用,系统使用______联编;使用对象调用时,系统使用______联编。
在算法正确的前提下,评价一个算法的两个标准是【】。
关于this指针的说明不正确的是
下列有关指针的用法中错误的是()。
指针变量所保存的不是一般的数据值,而是程序中另一个对象的______。
随机试题
下肢静脉曲张的患者,临床表现为凹陷性水肿的最好发的部位是
用击实法对扰动土样进行试件制备时,应根据哪些要求制备:()
垃圾转运站按功能可分为()和()转运站。
转关运输的进口货物,如属许可证管理商品,其许可证应按下列哪种规定校验()
下列权利中,不属于普通股股东权利的是( )。
某企业只生产一种产品,去年变动成本总额为84000元,单价为10元/件,变动成本率为80%,获利润11000元。假定今年只需追加2000元广告费,其他条件均不变。要求:如果企业想保证40%的安全边际率,至少应销售多少件产品?
下列账簿中,通常采用三栏式账页格式的有()。
属于湖北的著名小吃有()。
社会主义法律适用的原则是:有法可依,有法必依,执法必严,违法必究。()
那个年轻人宁愿继续干他在公司的信息技术工作,也不愿去考研。
最新回复
(
0
)