首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
admin
2017-10-17
32
问题
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #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://jikaoti.com/ti/QBt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
结构化程序设计所规定的三种基本控制结构是顺序结构、选择结构和【】。
在析构函数中调用虚函数时,采用_____联编。
下列输出字符,A,的方法中,错误的是()
已知类Sample中的一个成员函数说明如下:voidSet(Sample&a);其中,Sample&a的含意是()。
下列对派生类的描述中,()是错误的
以下都是C++语言标识符的是()
多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但[]运算符只能作为类的______函数重载。
下面的函数模板定义中错误的是
下列字符串中,正确的C++标识符是()。
下列符号中可以用作C++标识符的是()。
随机试题
有6位学者F、G、J、L、M和N,将在一次逻辑会议上演讲,演讲按下列条件排定次序:(1)每位演讲者只讲一次,并且在同一时间只有一位讲演者。(2)三位演讲者在午餐前发言,另三位在午餐后发言。(3)G一定在午餐前发言。(4)仅有一位发言者处在M和N之间
市议会与市政府合二而一的城市政府组织形式是()
尿量少于100mL/天,称为无尿。
受精卵何时形成桑椹胚即早期囊胚:受精卵何时着床:
野芳发而幽香,_________。(欧阳修《醉翁亭记》)
A.wholeB.getC.fromPhrases:A.Indiaasa【T1】________addsalmost20millionpeopleayearB.keepKerala
某投资项目,当贴现率为12%时,其净现值为478;当贴现率为14%时,净现值为-22,利用插值法,该项目的内部收益率为()。
A.Title:OnCollegeGraduates’StartingTheirOwnBusiness B.Wordlimit:160~200words(notincludingthegivenopenin
Oneofthemostdifficultsituationsthataresearchercanencounteristoseeorsuspectthatacolleaguehasviolatedtheethi
Apaper,Anatomy(剖析)ofaLargeScaleSocialSearchEngine,layingoutastrategyforsocialsearchhasbeengettingagooddeal
最新回复
(
0
)