首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
admin
2021-06-10
15
问题
有如下程序:
#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/53fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是()。
有如下程序:#includeusingnarnespacestd;classMedia{public:voidName();voidShow();protected:
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<endl;}};classA2:publicA1{public:void
有如下程序:#inc1ude<iostream>usingnamespacestd;classAA{intn:public:AA(intk):n(k){}intget(){
下列程序的输出结果是()。#includeusingnamespacestd;templateTfun(Ta,Tb){return(a
有如下程序:#includeusingnamespacestd;classShape{//图形类public://图形绘制函数(用显示字母模拟)virtual
数据流图中带有箭头的线段表示的是()。
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。
软件设计中划分模块的一个准则是()。
公司的开发人员可以同时参加多个项目的开发,则实体开发人员和实体项目间的联系是
随机试题
目前世界上最高的立体仓库高度已达()。
在外圆直径为70mm、厚度为25mm的圆盘上,用直径为15mm的麻花钻钻孔,切削速度选为21m/min。求钻孔时的背吃刀量和主轴转速。
A.有蒂的血管纤维组织,表面有粘膜覆盖B.家族性腺瘤性息肉病并发中枢神经系统恶性肿瘤C.结肠广泛密集的不带蒂的小息肉覆盖,犹如蟾蜍皮一样D.全胃肠道多发性息肉,伴有口腔粘膜和/或皮肤表面色素斑E.大肠多发性腺瘤,伴有多发性骨瘤和多发性软组织肿瘤
基底核包括
应用紫外线消毒空气时,有效距离与时间是( )。
系统管理中,系统管理员对账套可进行的操作是( )。
与股权筹资方式相比,下列各项中,属于债务筹资方式优点的有()。
样本大小适当的关键是样本要有()。
企业用于在建工程购入的材料物资,如果期末尚有结余,应在资产负债表()项目中列示。
相对学校教育来说,课外活动()。
最新回复
(
0
)