首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2(){cout<<"A2";} }; cl
有如下程序 #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2(){cout<<"A2";} }; cl
admin
2020-07-30
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
解析
此题考查的是虚函数的概念。此题中,func1是虚函数,func2是一般成员函数,而且在派生类与基类中都存在两个这样的函数。在主函数中,语句A*p=new B;定义了一个基类的指针p,并让它指向一个派生类对象。所以通过该指针调用func1时,运行的是派生类的版本,而通过该指针调用func2运行的是基类的版本。所以程序运行的最后输出是:B1A2。
转载请注明原文地址:https://jikaoti.com/ti/Exl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序段:inti=1;intj=4;intmain(){intj=i,i=8;cout
下列叙述中正确的是( )。
有如下程序:#includeusingnamespacestd;intmain(){intx=4;do{x--;
有如下程序段:inti=0;while(1){1++;if(i==30)break;if(i/20=0)cout
下面叙述中错误的是()。
阅读下面的程序:#includevoidmain(){intx;cin>>x;if(x++>5)cout
下列关于类、对象、属性和方法的叙述中,错误的是()。
下面不属于C++的预定义的流对象是()。
下面程序段的正确输出是()。intw=4,x=3,y=2,z=1;cout
在一个派生类对象结束其生命周期时()。
随机试题
贺某,女,39岁。长期精神抑郁,刻下见多思善虑,心悸胆怯,少寐健忘,面色不华,头晕神疲,食欲不振,舌质淡,脉细弱。此时方药宜选
急性肾小球肾炎的发病机制是
在雇佣关系中,由于信息不对称而产生的欺骗行为()。
补偿性余额的约束有助于降低银行贷款风险,但同时也减少了企业实际可动用借款额,提高了借款的实际利率。()
继承从( )开始。
我国国家最高权力机关是()。
A、 B、 C、 D、 C
(2000年试题,一)曲面x2+2y2+3z2=21在点(1,一2,2)的法线方程为___________.
当被阻塞的进程所期待的事件发生后,该进程将______。
Moneycanbuyhappiness,butonlyifyouspenditonsomeoneelse,researchersreported.Spendingaslittleas$5adayons
最新回复
(
0
)