首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
18
问题
有如下程序: #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://jikaoti.com/ti/7sL0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在数据库的3级模式中,外模式(用户模式或子模式)有()。
下列叙述中错误的是()。
有以下程序: #include<stdio.h> doublef(doublex); main() { doublea=0;inti; for(i=0;i<30;i+=10)a+=f((double)i); printf(
若有定义:chars1[100]="name",s2[50]="address",s3[80]="person";,要将它们连接成新字符串:"personnameaddress",正确的函数调用语句是()。
请编写函数fun,其功能:编写函数fun(char*s0,char*s1,char*s2,char*s3),要求实现——将s0所指字符串分解成3个字符串,分别存入s1、s2、s3所指内存中。分解的方法是,s1、s2、s3从s0中依次按顺序每隔3个字
下列函数原型声明中错误的是
有如下的运算符重载函数定义:doubleoperator+(inti,intk){returndouble(i+k);}但定义有错误,对这个错误最准确的描述是()。
类的析构函数的作用是()。
对关系S和关系R进行集合运算,结果中既包含S中元组也包含R中元组,这种集合运算称为()。
随机试题
可摘局部义齿不稳定的表现不包括以下哪一项
A.氨溴索B.布地奈德C.沙美特罗D.异丙托溴铵E.喷托维林可能引起眼睛疼痛不适症状的药物是
以下不属于病人的义务的是()
下列仲裁协议为无效或失效的是()。
各工序按施工技术进行__________,每到工序完成后应__________。
依据《噪声污染防治法》,穿越城市居民区、文教区的铁路,因铁路机车运行造成环境噪声污染的,当地城市人民政府应当组织铁路部门和其他有关部门,制定( )。
软件需求规格说明书的作用不包括
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
Thetwoeconomistscalltheirpaper"MentalRetirement,"andtheirfindingsfromtheUnitedStatesand12Europeancountriessug
三大兵书
最新回复
(
0
)