首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
admin
2017-10-17
61
问题
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std; class Base { public: virtual void f() {cout<<"f0+";} void g() {cout<<"g0+";} }; class Derived: public Base { public: void f() {cout<<"f+";} void g() {cout<<"g+";} }; int main() { Derived d; Base *p=&d; P->f(); P->g(); return 0; }运行时输出的结果是
选项
A、f+g+
B、f0+g+
C、f+g0+
D、f0+g0+
答案
C
解析
本题考查的知识点是:虚函数与多态性。在题目的主函数中,首先声明了一个派生类对象d,然后声明了一个基类指针p指向它。接着通过该基类指针,分别调用了f()函数和g()函数。由于在基类Base的定义中,f()函数使用了virtual关键字,因此它是虚函数,即具有多态性,所以通过指针p调用的f()是派生类Derived中定义的 f()。而g()不是虚函数,所以通过指针p调用的是Base中定义的g()。由此可见,最终输出的结果是“f+g0+”。故本题应该选择C。
转载请注明原文地址:https://kaotiyun.com/show/cPAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序段,其输出的结果是______。intx,y,z;X=y=z=0;++x‖++y&&++z;cout<<x<<","<<y<<","<<z<<endl;
内联函数是通过______来实现的,因此内联函数是真正的函数。
下列字符串常量表示中,()是错误的。
下列叙述中,正确的是()。
对虚函数使用对象指针或引用调用,系统使用______联编;使用对象调用时,系统使用_____联编。
已知类Sample中的一个成员函数说明如下:voidSet(Sample&a);其中,Sample&a的含意是()。
设有如下关系表:则下列操作中正确的是
下列有关运算符重载的叙述中,正确的是()。
随机试题
片麻岩属于()。
政府债券发行的目的不包括()
存货的仓储费用是存货成本的一个组成部分。()
危险物品出口租船订舱时,托运人在联系单上必须注明的项目包括( )。
凯恩斯把人们持有的金融资产划分为()两类。
下列选项中属于我国在政府体制内的家庭社会工作内容的是哪一项?()
昆特女士教八年级的英语课。一天,刚上课时她就很兴奋地宣布:“我想告诉你们,咱们班出了一位诗人。弗兰克写了一首很美的诗,我想读给大家听听。”昆特女士朗读了那首诗,它的确很美。然而,昆特女士注意到弗兰克的脸红了,看上去非常不安。班上有些同学在窃窃私语。后来,昆
A.始发期B.早期病变期C.进展期D.病损确立期E.静止期结合上皮继续加深,形成深牙周袋,胶原纤维变性溶解,牙槽骨吸收破坏明显的是()。
下列数据结构中,能够按照“先进后出”原则存取数据的是()。
PassageOne.Whatwastheauthor’sneighbormentionedinthelastparagraphmostconcernedabout?
最新回复
(
0
)