首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include using namespace std; class A{ public: virtual void func1(){cout
有如下程序 #include using namespace std; class A{ public: virtual void func1(){cout
admin
2016-11-25
32
问题
有如下程序
#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();
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/yEAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序:#include<iostream>usingnamespacestd;classA{private:intx;public:intx;voidset
()是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。
数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是
以下各项排序技术中属于交换类排序法的是()。
C++语言中标点符号中表示一条预处理命令开始的是
下面叙述错误的是()。
下列有关指针的用法中错误的是()。
假定Xcs是一个类,该类中一个成员函数的原型为“Xcs*abc{};”,则在类外定义时对应的函数头为______。
下列关于运算符重载的描述中,错误的是()。
“::”符号的功能是( )。
随机试题
诱因
关于指标的选取表述正确的是()
诱发骨质疏松的病因不包括
关于卵泡囊肿的叙述,不正确的是
下列关于高压发生器作用的叙述,正确的是
下列费用中,不属于企业财务费用的是()。[2003年考题]
下列关于独立董事的说法不正确的是()。
首站接团时,全陪应提前()到接站地点与地陪一起迎接旅游团。
下面选项中关于位运算的叙述正确的是
请解释遵循先例原则及香港上诉法院背离此原则的情形。(1994年12月)
最新回复
(
0
)