首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
admin
2015-07-22
92
问题
有如下程序:
#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://www.kaotiyun.com/show/drNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
派生类的成员一般分为两部分,一部分是【】,另一部分是自己定义的新成员。
下面是“二维向量”vector2D的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量x和y对应相加,然后返回作为相加结果的新对象。请填空补充完整。classvector2D{doublex;//x分量
函数inttest(inta,intb=l,intc=0),下列调用不合法的个数是test(0);test(0,0);test();test(0,0,0);
下列叙述中,不属于测试的特征的是
下面的叙述中,不符合赋值兼容规则的是()。
关键字ASC和DESC分别表示【】的含义。
数据库系统中实现各种数据管理功能的核心软件称为【】。
下列叙述中正确的是
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是structnode{chardata;structnode*next;}a,b,*p=&a,*q=&b
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。intmystrlen(char*str){inti;for(i=0;______!=’\0’;i++);
随机试题
辽河和鸭绿江是辽宁省两条最大的河流,它们分别注入我国的()。
下列关于组织磁化的叙述错误的是
临床上常见的几种精神运动性兴奋状态不包括
血分证与营分证的共有症状是
除下列哪项外都是右心衰竭与肝硬化共同具有的体征
影响血药浓度的因素是
对公路工程中发生的质量问题,负责调查处理的单位应该是()。
会计核算必须以()的经济业务事项为依据。
Ifyouwatchthenews,youhearatallthetimeabouttheDowJones【S1】______IndustrialAverageandotheraverages
Itis______thateveryoneofusshouldrebuildhisworldoutlook.
最新回复
(
0
)