首页 > 成人高考
题目内容 (请给出正确答案)
[单选题]

若有以下程序:  #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

答案
收藏

A、1,2

解析:解析:本题考核基类指针的使用。本题首先定义了一个基类Base和一个由Base派生出来的派生类Derived。在主函数中,定义了一个基类Base指针pb和基类对象 b,还定义了派生类Derived的对象obj。然后将派生类对象obj的地址赋值给指向基类Base的指针pb。由于Derived是Base的子类型,因此允许上述赋值,但这时指针pb只能使用从基类Base继承的成员,即当pb指向obj对象时,pb->disp还是调用基类Base的成员函数disp。所以程序最后输出的对象d中对基类成员的初始化值,即1,2。

如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“若有以下程序: #include <iostream> us…”相关的问题
第1题
若有以下程序: #include"stdio.h" main() { char c1,c2; float f1,f2; scanf(&qu

若有以下程序:

#include"stdio.h"

main()

{

char c1,c2;

float f1,f2;

scanf("%c%f%c%f",&c1,&f1,&c2,&f2);

printf("%c,%f,%c,%f",c1,f1,c2,f2);

}

要求给c1、c2输入字符A和B,给f1和f2输入12.34和98.765,从键盘正确输入数据的形式是______。

点击查看答案
第2题
以下程序的输出结果是______。#include<stdio.h>main(){int i;for(i=1;i<=5;i++)(if(i%2)print f(

以下程序的输出结果是______。

#include<stdio.h>

main()

{int i;

for(i=1;i<=5;i++)(if(i%2)print f("*");

else continue;

print f("#");

}

print f("$\n");

}

点击查看答案
第3题
以下程序运行后的输出结果是【 】。 include <stdio.h> msin() { int i,n[]={0,0,0,

以下程序运行后的输出结果是【 】。 include <stdio.h> msin() { int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf("%d",n[i]); } }

点击查看答案
第4题
以下程序运行结果是【 】。 include<stdio.h> main() { int fun();fun();} fun()

以下程序运行结果是【 】。 include<stdio.h> main() { int fun();fun();} fun() { static int a[3]={0,1,2}; int i; for(i=0;i<3;i++)a[i]+=a[i]; for(i=0;i<3;i++)printf("%d,",a[i]); printf("\n");}

点击查看答案
第5题
执行以下程序后,输出“”的个数是【 】。 include <stdio.h> main() { int i,j;

执行以下程序后,输出“”的个数是【 】。 include <stdio.h> main() { int i,j; for(i=1;i<5;i++) for(j=2;j<=i;j++) putchar(); }

点击查看答案
第6题
以下程序的输出结果是______。#includemain(){int i=010,j=10;printf("%d,%d\n",++i,j--);}

以下程序的输出结果是______。

#include

main()

{int i=010,j=10;

printf("%d,%d\n",++i,j--);}

点击查看答案
第7题
有以下程序 include <lostream> using namespace std; int main() { int

有以下程序 include <lostream> using namespace std; int main() { int i=010,j=10; cout<<(i)<<","<<j--<<endl; return 0; } 则该程序运行后的输出结果是【 】。

点击查看答案
第8题
执行以下程序后,输出号的个数是【 】。 include <studio.h> main() {int i,j; fo

执行以下程序后,输出号的个数是【 】。 include <studio.h> main() {int i,j; for(i=1;i<5;i++) for(j=2;j<=i;j++)putchar(); }

点击查看答案
第9题
以下程序计算1×2×3×……×10的和。#include"stdio.h"main(){int i,s=1;do{s=s+i;i++;}while(i<=10)pr

以下程序计算1×2×3×……×10的和。

#include"stdio.h"

main()

{int i,s=1;

do

{s=s+i;i++;

}while(i<=10)

printf("%d\n",s);

}

错误:______

改正:______

参考答案:错误

点击查看答案
第10题
以下程序运行后的输出结果是【 】。 include <stdio.h> define S(x) 4 * x * x + 1

以下程序运行后的输出结果是【 】。 include <stdio.h> define S(x) 4 * x * x + 1 main() { int i=6,j=8; prinff("% d \ n" , S(i + j) ); }

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改