首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2()
有如下程序: #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2()
admin
2013-02-27
27
问题
有如下程序: #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2(){cout<<"A2";} }; class B:public A{ public: void func1(){cout<<"B1";} void func2(){cout<<"B2";} }; int main() { A *p=new B; p->func1(); p->func2(); return 0; } 执行该程序,屏幕上将显示输出( )。
选项
A、B1B2
B、A1A2
C、B1A2
D、A1B2
答案
C
解析
程序中B为A的派生类,由主函数入手,主函数中定义了类A的指针p指向类B。根据基类中的“virtual void func1()”知道A中的func1为虚函数,执行“p->func1();”语句,通过指针变量调用此虚函数,此时调用的就是指针变量指向的同名函数,即派生类的func1函数,输出B1。而fun2不是虚函数,所以执行“p->func2();”输出为A2。
转载请注明原文地址:https://kaotiyun.com/show/ZdVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下关于C语言数据类型使用的叙述中错误的是()。
按照C语言规定的用户标识符命名规则,不能出现在用户标识符中的是()。
常用的连续存储管理技术有固定分区存储管理和()。
若有定义“inta,b,c,*p=&c;”,接着执行以下选项中的语句,则能正确执行的语句是()。
若有定义:inta=0,b=1,c=1; 关于逻辑表达式a++||b++&&c++中各个部分的执行顺序,以下说法正确的是()。
关于new运算符的下列描述中,错误的是()。
下列运算符中全都可以被友元函数重载的是()。
类的析构函数的作用是()。
若深度为5的完全二叉树的第5层有3个叶结点,则该二叉树一共有【】个结点。
随机试题
判断脑死亡标准除了
眶内肿瘤CT扫描不能显示的是
女性,9岁,发热,双腮腺肿大4天,伴中上腹痛1天。为除外胰腺炎之合并症,首先应检查
已知某房地产投资项目的购买投资为4500万元,流动资金为500万元。如果投资者投入的权益资本为1500万元,经营期内年平均利润总额为650万元,年平均税后利润为500万元。则该投资项目的资本金利润率为()。
为真实反映项目的偿债能力,进行偿债能力分析原则上应采用的价格体系是()。
关于对外援助物资的特殊规定,说法正确的有()。
下列关于人类通讯史的说法,不正确的是()。
Thereisnoquestionthatscience-fictionwritershavebecomemoreambitious,stylisticallyandthematically,inrecentyears.(
Itisestimatedthatthereare______peoplesufferingfromobesityintheworld.Fromthelastparagraphwemayinferthatone
Nooneshouldbeforcedtowearauniformunderanycircumstance.Uniformsaredemandingtothehumanspiritandtotallyunneces
最新回复
(
0
)