首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #include <iostream> using namespace std; class Base { private: int a,b; public: Base(int
若有以下程序: #include <iostream> using namespace std; class Base { private: int a,b; public: Base(int
admin
2010-03-29
26
问题
若有以下程序: #include <iostream> using namespace std; class Base { private: int a,b; public: Base(int x, int y) { a=x; b=y; } void disp () { cout<<a<<" "<<b<<end1; } }; class Derived : public Base { private: int c; int d; public: Derived(int x,int y, int z,int m) :Base(x,y) { c=z; d=m; } void disp () { cout<<c<<" "<<d<<end1; } }; int main() { Base b(5,5),*pb; Derived obj(1,2,3,4); pb=&obj; pb->disp(); return 0; } 执行程序后的输出结果是( )。
选项
A、1,2
B、3,4
C、2,3
D、5,5
答案
1
解析
本题考核基类指针的使用。本题首先定义了一个基类Base和一个由Base派生出来的派生类Derived。在主函数中,定义了一个基类Base指针pb和基类对象 b,还定义了派生类Derived的对象obj。然后将派生类对象obj的地址赋值给指向基类Base的指针pb。由于Derived是Base的子类型,因此允许上述赋值,但这时指针pb只能使用从基类Base继承的成员,即当pb指向obj对象时,pb->disp还是调用基类Base的成员函数disp。所以程序最后输出的对象d中对基类成员的初始化值,即1,2。
转载请注明原文地址:https://jikaoti.com/ti/MyW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是
有以下结构体说明、变量定义和赋值语句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];则以下scanf函数调用语句有错误的是
下面模型中为概念模型的是
以下关于结构化程序设计的叙述中正确的是
下列对于软件测试的描述中正确的是
以下关于typedef的叙述错误的是
有三个关系R、S和T如下:则由关系R和关系S得到关系T的操作是()。
设循环队列为Q(1:m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为
下列定义数组的语句中,正确的是()。
交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
随机试题
七情内伤致病最多见于()(1994年第11题;1996年第5题;2003年第11题)
在先天性心脏病中发生率最高的是
下列穴位中治疗胎位不正应首选
难溶电解质AgCl在浓度为0.01mol/L的下列溶液中,溶解度最小的是()。
把图a所示的电路用图b所示的等效电压源代替,则等效电压源的参数为()。
下列情形中,纳税人应按照“购销合同”适用税率计算缴纳印花税的有()。
实际利率是由名义利率扣除()后的利率。
银行存款日记账是根据()逐日逐笔登记的。
8086CPU从偶地址读写两个字节时,需要______个总线周期;从奇地址读写两个字节时,需要______个总线周期。
Shewasclosetosuccess.
最新回复
(
0
)