首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
14
问题
有如下程序:
#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/YMNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
有关类和对象的说法不正确的是()。
下列对类的构造函数和析构函数的描述中,正确的是()。
若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是()。
作为非成员函数重载的运算符,所有操作数都必须以______的形式出现在参数表中。
下述关于数据库系统的叙述中正确的是
下列叙述中错误的是
若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0)[0]位于数组的第一个位置上)
执行下列语句后,c3中的值为【】 intc1=1,c2=2,c3;c3=1.0/c2*c1;
软件复杂性度量的参数包括
随机试题
关于公平责任的要件及损失分担,以下表述错误的是:()
数据通讯中,协议是人们为了使计算机之间能相互交换信息而制定了一套严格的________。
下列除哪项外,均属月经过少血虚证的临床表现()
关于小型构件预制场布设一般要求的说法错误的是()。
(用户名:25;账套:202;操作日期:2013年1月31日)查询银行存款(1002)月份综合明细账。
会计行政法规由()。
病例:患者,男,53岁。诊断肝硬化5年,肝硬化并发肝门静脉高压症。今日上午患者突然发生消化道出血,测血压90/50mmHg。此时护士应采取的措施是()。
10件产品中有4件次品,现随机地逐个进行检查,直到4件次品均被查出为止,则不连续出现2个次品的概率为______.
Theclerkwas(threat)______withpunishmentunlessheapologizedtothecustomer.
Moviemakersfearedforawhilethattheymightbeputoutofbusinessbytelevision.Recently,【C1】______,moreandmorepeople
最新回复
(
0
)