首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2(){cout<<"A2";} }; cl
有如下程序 #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2(){cout<<"A2";} }; cl
admin
2020-07-30
26
问题
有如下程序
#include<iostream>
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();
return 0;
}
运行此程序,屏幕上将显示输出( )。
选项
A、B1B2
B、A1A2
C、B1A2
D、A1B2
答案
C
解析
此题考查的是虚函数的概念。此题中,func1是虚函数,func2是一般成员函数,而且在派生类与基类中都存在两个这样的函数。在主函数中,语句A*p=new B;定义了一个基类的指针p,并让它指向一个派生类对象。所以通过该指针调用func1时,运行的是派生类的版本,而通过该指针调用func2运行的是基类的版本。所以程序运行的最后输出是:B1A2。
转载请注明原文地址:https://kaotiyun.com/show/NTyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知一运算符函数没有参数。下列关于该运算符函数的表述中错误的是
已知主函数中通过如下语句序列实现对函数模板swap的调用:inta[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是
下列关于继承方式的表述中,错误的是
有如下类定义:classVechicle{//基类public:Vechicle(strings):name(s){}protected:
有如下类定义:classCup{public:Cup(doubleval,stringcr="red"):price(val),color(cr){}//①~
下列关于赋值运算符=重载的叙述中,正确的是
若有如下类声明:classMyClass{public:MyClass(){cout
下面不属于软件测试实施步骤的是()。
在E-R图中,用来表示实体的图形是()。
随机试题
什么是“三废”?
简述揭示变量分布中心的意义。
下列哪项不属于选择偏倚
交割日一般有()等形式。
()是陕西省最大的湖泊,也是中国最大的沙漠淡水湖。
政府为公众服务的服务性特点首先表现在其非赢利性上。()
第2自然段原文有一句“所谓‘山色空蒙雨亦奇’,我于此体会了这种境界的好处。”应该插在哪面?
数据库系统的三级模式结构和二层映像功能提供了数据的逻辑独立性和物理独立性。下列提供逻辑独立性的是()。
Itisnotthelanguage______theculturalbackground______makesthebookdifficulttounderstand.
Whatisthemainideaaboutthisnewsitem?
最新回复
(
0
)