首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1() { cout
有如下程序: #include using namespace std; class Base { public: void fun1() { cout
admin
2020-07-23
37
问题
有如下程序:
#include
using namespace std;
class Base
{
public:
void fun1() { cout<<"Base\n"; }
virtual void fun2() { cout<<"Base\n"; }
};
class Derived : public Base {
public:
void fun1() { cout<<"Derived\n"; }
void fun2() { cout<<"Derived\n"; }
};
void f(Base& b) { b.fun1(); b.fun2(); }
int main()
{
Derived obj;
f(obj);
return 0;
}
执行这个程序的输出结果是( )。
选项
A、Base
Base
B、Base
Derived
C、Derived
Base
D、Derived
Derived
答案
B
解析
在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个派生类对象obj,执行f函数后,将派生类对象obj转化为基类对象,由于fun1不是虚函数,所以输出基类的fun1;而fun2是虚函数,所以输出派生类的fun2,所以本题答案为B。
转载请注明原文地址:https://kaotiyun.com/show/GUyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知表达式--a中的"--"是作为成员函数重载的运算符,则与--a等效的运算符函数调用形式为
下列关于内联函数的叙述中,正确的是
有如下程序#includeusingnamespacestd;classAA{charc;public:AA(charch):c(ch){cout
有如下程序:#include#includeusingstd::cout;classPoint{public:frienddoubledi
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
有如下程序段:inti=0,j=1;nt&r=j;//①r=j;//②int*p=&i://*p=&r;//④其中会产生编译错误的语句是()。
待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第()个位置。
下列选项中不属于结构化程序设计方法的是()。
在C++中,用于实现运行时多态性的是()。
随机试题
日常生活中所说的口吃现象属于以下哪一种语言障碍?()
病理科接收标本时,错误的做法是
临床上使用的布洛芬为何种异构体()。
法律或合同及企业申请书中分别规定有法定有效期限和收益年限的,按( )确定无形资产有效期。
博弈的基本内容有局中人、策略、占优战略均衡和支付。()
内蒙古四大品牌旅游区域包括()。
(2019年真题)法国作家儒勒·凡尔纳的科幻小说,把现实与幻想巧妙结合起来,在科学知识基础上大胆地设想和预言未来,具有典型的“预言性”。下列作品中,不属于凡尔纳的是()。
(2009年)使不等式>lnx成立的x的范围是()
Individualsandbusinesseshavelegalprotectionforintellectualpropertytheycreateandown.Intellectualproper【C1】______fro
以下叙述中错误的是______。
最新回复
(
0
)