首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的输出结果是______。 #include<iostream> using namespace std; class base { public: int n; base(int x) {
下列程序的输出结果是______。 #include<iostream> using namespace std; class base { public: int n; base(int x) {
admin
2010-12-16
29
问题
下列程序的输出结果是______。
#include<iostream>
using namespace std;
class base
{
public:
int n;
base(int x) { n=x;}
virtual void set(int m) { n=m;cout << n <<’ ’;}
};
class deriveA:public base
{
public:
deriveA(int x):base(x) {}
void set(int m) { n += m;cout << n <<’ ’;}
};
class deriveB:public base
{
public:
deriveB(int x):base(x) {}
void set(int m) { n +=m; cout << n<<’ ’;}
};
int main()
{
deriveA d1(1);
deriveB.d2(3);
base *pbase;
pbase=&d1;
pbase->set(1);
pbase= &d2;
pbase->set(2);
return 0;
}
选项
答案
25
解析
本题考核虚函数的定义和调用。在C++中,一个基类指针(或引用)可以用来指向它的派生类对象,而且通过这样的指针 (或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。题中基类成员函数set()被定义成虚函数,而且其派生类deriveA和deriveB都有函数set()的重定义版本,所以通过指针pbase的两次调用分别调用的是派生类deriveA和deriveB中定义的版本,即输出25。
转载请注明原文地址:https://kaotiyun.com/show/WOjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序#include<stdio.h>intk=7;voidf(int**s){int*t=&k;*s=t;printf("%d,%d,%d,"
有以下程序:#includemain(){intc=0,k;for(k=l;k
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中的错误,使它能得出正确的结果。注意:部分源程序在
下列处理中与队列有关的是
以下叙述中错误的是()。
下列数据结构中,属于非线性结构的是()。
以下叙述中错误的是()。
对序线性表(23,29,34,55,60,70,78)用二分法查找值为60的元素时,需要比较次数为()。
多态性指的是()。
随机试题
下列哪一项变化可以在心电图中看到?
A.呼吸困难和窒息B.音调降低,饮水呛咳C.声音嘶哑D.手足抽搐甲亢术后,如喉返神经损伤,出现
A.求异法B.共变法C.求同法D.类比法E.排除法找出不同条件下高发人群、病人以及高发地区的共同特点()
中风左侧肢体瘫痪的患者应取()
下列胃肠减压期间的护理中,错误的是()
虚报注册资本罪
根据课程任务可将课程分为基础型、拓展型和研究型三类。()
简述宋代郭熙在《林泉高致》中提出的中国画“三远法”。
现实生活中,在遇到别人求助时,我们往往出现两种情况:一种是量力而行,不敢贸然承诺;另一种是欣然答应,当事情遇到困难时又打退堂鼓。你认为自己是哪种人,并举个典型事例讲给我们听听。
A、Theybreakdownbonetissue.B、Theydefendtheboneagainstviruses.C、Theyconnectthebonetomuscletissue.D、Theyprevent
最新回复
(
0
)