首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
19
问题
有如下程序:
#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全国计算机二级
相关试题推荐
下面程序的运行结果是#include"iostream.h"#definesum(a,b)a*bvoidmain(){intx;X=sam(1+2,3);cout<<x;}
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为【】。
以下程序的输出结果是【】。#include<iostream.h>unsignedfun(unsignednum){unsignedk=1;do{k*=num%10;num/=
编译时的多态性可以通过使用()获得。
有关类和对象的说法不正确的是()。
下面程序的结果是 #include"iostream.h" voidmain() { char*str; Str="test!"; cout<<str[5]; }
下面程序的运行结果是 #include"iostream.h" #definesum(a,b)a*b voidmain() {intx; x=sam(1+2,3); cout<<x; }
在软件测试设计中,软件测试的主要目的是
C++语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言
以下程序中循环体总的执行次数是 inti,j; for(i=6;i>1;i--) for(j=0;j<i;j++) {……}
随机试题
需求分析的具体任务主要是对系统的功能,______及运行环境限制等方面提出要求。
《乌尔纳姆法典》中记载的内容主要有()
肝脏药物代谢酶的特点是
具备尸体冻存条件的,尸检可以延长至几日进行
患者,男,56岁。体重65kg,拟行择期胆囊切除术,血压180/100mmHg,未经正规治疗,其ASA分级为
着重于施工方案内容、总工期和投资概算内容的单项工程施工组织设计,应在()编制完成。
项目管理实施规划的编制依据,不包括()。
信贷资金的运动以银行为轴心。()
有如下类声明:classFoo{intbar;};则Foo类的成员bar是()。
Ifyousuccessfullycompletethetrainingprogram,youwill(interview)______bythecompanyforthefinaldecision.
最新回复
(
0
)