首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
105
问题
有如下程序:
#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/drNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是【】。
关于this指针的说明不正确的是
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
有以下程序:#include<iostream>usingnamespacestd;classmyclass{private:inta,b;public:voidi
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
下面是关于ios类的叙述,正确的是()。
()不是构造函数的特征。
在深度为5的满二叉树中,叶子结点的个数为
下列叙述中错误的是
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#include<string>char*scmp(char*s1,char*s2){if(strc
随机试题
四环素类抗生素对哪种病原体无效:
交接于足小趾端两条经脉是()(2007年题153题)
姜片虫病的感染方式主要是
A.GMPB.GAPC.GCPD.GLPE.GSP在药品生产过程实施质量管理,保证生产出符合预定用途和注册要求的药品应遵循()。
施工图设计交底和设计图审查的程序是()。
某拟建工程由甲、乙、丙三个施工过程组成;该工程共划分成四个施工流水段,每个施工过程在各个施工流水段上的流水节拍如下表所示。按相关规范规定,施工过程乙完成后其相应施工段至少要养护2d,才能进入下道工序。为了尽早完工,经过技术攻关,实现施工过程乙在施工过程甲完
下列不属于我国专门法治队伍的是()。
建立合理有效的()是企业完成任务的关键。
关于网络管理功能的描述中,错误的是______。
Teachersneedtobeawareoftheemotional,intellectual,andphysicalchangesthatyoungadultsexperience.Andtheyalsoneed
最新回复
(
0
)