首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
admin
2020-06-29
40
问题
有如下程序:
#include
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();
delete p;
return 0;
}
执行这个程序的输出结果是( )。
选项
A、B1B2
B、A1A2
C、B1A2
D、A1B2
答案
C
解析
本题考查虚函数。虚函数指在基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。题中定义了一个派生类对象B,并使用类A的对象指针指向B,由于基类A中的func1为虚函数,所以会执行派生类的func1,输出B1,而基类中的func2不是虚函数,所以p->func2( )会执行基类的func2,输出A2。故答案为C。
转载请注明原文地址:https://kaotiyun.com/show/rByp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classCup{public:Cup(doubleval,stringcr="red"):price(val),color(cr){}//①~
下列语句中错误的是
下列关于虚函数的表述中,正确的是
有如下程序:#includeusingnamespacestd;voidf(intx,int&y){intz=x;x=y;y=z;}intmain(){
在下列标识符中,不属于文件流类的标识符是
下列有关运算符重载的叙述中,正确的是()。
数据库中对概念模式内容进行说明的语言是
已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是5的是
下列符号中,正确的C++标识符是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类Set和用于测试该类的主函数main。类Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为
随机试题
双涡轮增压系统的增压器转动平稳。()
下列哪项不是闭合性腹部损伤后手术探查的可靠指征
恢复费用一般采用()进行计算,以准确反映现实价格水平下的恢复成本。
企业的罚款支出、捐赠支出、出售无形资产净损失都是通过营业外支出核算。()
企业将商品所有权上的主要风险和报酬转移给买方,就构成确认销售商品收入的重要条件。()
A、 B、 C、 D、 A依题意可知T5=a1a2a3a4a5=a1a1qa1q2a1q3a1q4=(a1q2)5=32,故a3=a1q2=2
疲劳越深,训练效果就越好。()
运动训练学命名的“高原现象”是指()。
在窗体上画一个名称为Command1的命令按钮,并编写如下程序:PrivateSubCommand1_Click()DimxAsIntegerStaticyAsInteger
下列关于线性链表的叙述中,正确的是()。
最新回复
(
0
)