首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
admin
2017-10-17
63
问题
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #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全国计算机二级
相关试题推荐
下列叙述中错误的是
下列叙述中,不属于测试的特征的是()
若有以下程序:#inclcude<iostream.h>voidmain(){inti;inta[3][3]={’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’);for(i=0;
C++语言是以()语言为基础逐渐发展演变而成的一种程序设计语言。
设置虚基类的目的是()。
下列输出字符,A,的方法中,错误的是()
关于运算符重载,下列表述中正确的是( )。
一个双目运算符作为类的成员函数重载时,重载函数的参数表中有【】个参数。
下列选项中合法的用户标识符是()。
随机试题
论述如何建设美丽中国。
利尿剂治疗心功能不全的作用是通过
A.醛和酮B.多环芳烃C.多氯联苯D.亚硝酸盐E.胺类化合物为了使肉制品成色良好,加工中添加一种护色剂。但添加过量或混合不均匀时,食入较多的该种物质可引起食用者出现全身皮肤、黏膜紫绀等缺氧症状。肉品中这种有害物质最可能是()
属于艾炷直接灸的方法是属于间接灸的方法是
患者,女,21岁。四肢关节痛6个月,近2个月出现面颊部对称性红斑,口腔溃疡反复发作,检查白细胞2.7×109g/L,血沉67mm/h,该患者最可能的诊断是
消防技术服务机构受托对某地区银行办公的综合楼进行消防设施的专项检查,银行数据中心机房设置了IG541气体灭火系统,以组合分配方式设置A、B、C三个气体灭火防护区。断开气体灭火控制器与各防护区气体灭火驱动装置的连接线,进行联动控制功能试验。据了解,消防维保单
以下软件中()属于应用软件。
家庭生命周期的发展过程正确的顺序是()。
三名游泳运动员一起进行训练,同时入水,当甲游1圈时,乙正好超过甲半圈,丙超过甲四分之一圈。他们三人总共游了15圈。问丙游了多少圈?()
请根据材料一,分析“泔水油”现象屡禁不止的原因。请仔细阅读材料三,为彻底解决马路公共设施被盗问题,请你站在政府主管部门的角度,制定出具体的“治盗”措施。
最新回复
(
0
)