首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
17
问题
有如下程序:
#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://jikaoti.com/ti/p1E0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于构造函数A()的拷贝构造函数正确的是
C++中运算符优先级由高到低排列正确的是
下列描述中哪个是正确的?
C++语言中运算对象必须是整型的运算符是
以下程序的输出结果是【】。#include<iostream.h>voidfun(){staticinta=0;a+=2;cout<<a
下面关于C++语言的描述错误的是
()是给对象取一个别名,它引入了对象的同义词。
下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申请时使用形参b初始化a,请填空。classA{public:A(intb);~A(
面向对象程序设计思想的主要特征中不包括
下列关于new运算符的描述中错误的是
随机试题
从“市场体系”到“统一市场”再到“全国统一大市场”,实际就是从建设市场到建设一体化市场,再到建设大市场和强市场。我们的市场人均收入和消费水平低,虽然人口多,但是市场呈现为行政分割状态,因此只是潜在规模大,实际规模并不具有竞争优势。对此,除了要通过深化改革,
男,48岁,肝硬化出现肝昏迷先兆,4天未排大便。不能使用上述灌肠液的原因是
女性,36岁,因溃疡病大出血,输入库存血1500ml,发现呼吸深快,有烂苹果味,皮肤青紫,血压90/60mmHg,实验室检查血清钾7.1mmol/L,钠135mmol/L,动脉血pH7.2,血浆HCO3-17mmol/L。该病人典型的
下列不属于节水措施的是()。
根据《建设工程安全生产管理条例》规定,下列选项中,属于施工单位项目负责人安全生产责任的有()。
2012年1月,甲公司将闲置厂房出租给乙公司,合同约定每月租金2000元,租期未定。签订合同时,预收租金8000元,双方已按定额贴花。10月底合同解除,甲公司收到乙公司补交租金10000元。甲公司10月份应补缴印花税()元。
在人类社会的发展史上,经历了三次科技革命,其标志为()。
简述班集体形成的阶段和培养的方法。
若有定义语句:doublex,y,*px,*py;执行px=&x;py=&y;正确的输入语句是
TheDeadReturnAFestivalfortheDeadisheldonceayearinJapan.Thisfestivalisacheerfuloccasion(场合),foronthisd
最新回复
(
0
)