首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
admin
2017-10-17
51
问题
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #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;
关于构造函数A()的拷贝构造函数正确的是()
有如下类的定义。那么空格处的语句是()。classMyClass{____________intx,y;public:MyClass(intx1=0,inty1=0){
下列叙述中,正确的是()。
设置虚基类的目的是()。
下列输出字符,A,的方法中,错误的是()
下列对派生类的描述中,()是错误的
在表达式x+y*z中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是()。
关于运算符重载,下列表述中正确的是( )。
随机试题
简述莫泊桑小说的艺术特点。
Ifyoudon’tmind,I______domyhomeworkthanplaycardswithyou.
女性,28岁,因服敌敌畏约30ml后出现呕吐、出汗、流涎、呼吸困难、意识不清2小时被入送医院急诊。本例患者在治疗过程中,出现下列哪一项提示抗胆碱药应当停用
患者,男性,27岁。车祸外伤,多发骨折,骨盆骨折行钢钉固定、制动。入院14天突发呼吸困难,床头心脏超声提示肺动脉高压,D一二聚体明显增高,下列叙述错误的是
液态液化石油气输送管道的设计压力可为()。
开始投资1000万元,从第二年开始,其年收入为固定的600万元,经济寿命为5年,当年利率i从10%增加到15%时,该项目的净现值会( )。
关于偿债能力指标的说法,错误的是()。
票据的功能包括()。
短期筹资与长期筹资的保守型组合策略属于低成本、高收益、高风险的组合策略。( )
Losingweightiseasierwhenthereismoneyontheline,U.S.researcherssaidonTuesday.Theysaidweight-lossprogramsthat
最新回复
(
0
)