首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include<iostream> using namespace std; class Base{ public: void output(){cout<<1;} virtual void
有如下程序; #include<iostream> using namespace std; class Base{ public: void output(){cout<<1;} virtual void
admin
2020-04-07
42
问题
有如下程序;
#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 0;
}
程序的输出结果是( )。
选项
A、1B
B、1D
C、2B
D、2D
答案
B
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数:在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。本题中,从基类的定义可以看出:output()函数是普通成员函数,而Print()函数是虚函数。所以,通过ptr指针调用的output()是基类中的output(),而通过它调用的Print()则是派生类中的Print()。
转载请注明原文地址:https://kaotiyun.com/show/338p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
类ostream的成员函数【】用于执行无格式输出,成员函数put用于输出单个字符。
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是
关于在调用模板函数时模板实参的使用,下列表述正确的是()。
A、 B、 C、 D、 C纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型用作继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。
在下面的运算符重载函数的原型中,错误的是______。
结构化程序设计所规定的三种基本控制结构是()。
在关系运算中,【】运算是对两个具有公共属性的关系所进行的运算。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
______是数据库设计的核心。
关系数据模型由关系数据结构、关系操作集合和【】三大要素组成。
随机试题
A.面黑而干焦B.面黑而浅淡C.二者均是D.二者均非(2003年第95,96题)肾精久耗,虚火灼阴,则()
当k为何值时,广义积分收敛?当k为何值时,这个广义积分发散?又当k为何值时,广义积分取得最小值?
A、Shewillnottakeanymedicine.B、Shehasn’tgotabadcold.C、Shewilltakesomemedicineinaweek.D、Shewilltakesomemed
智力技能形成的阶段包括原型定向、原型操作和()。
晒太阳对哪种小儿保健意义最大
男式大衣,面料为纯羊毛华达呢,衬里为兔毛皮
OneofthemoststrikingthingsaboutAmericansisthattheyseemofexpectingeveryonetolikethem【C1】______.theygo.America
Completeeachsentencewiththecorrectending,A-F,below.Writethecorrectletter,A-F,inboxes18-21onyouranswersheet.
WhathappenedtoMrs.Grey’scaronemorning?
ProfessorWilsonhasaspeaking______forthisweekend,so-hedeclinedtheinvitationbyhisfriendsfordinner.
最新回复
(
0
)