[单选题]

( 35 )有如下程序 ;

#include<iostream>

using namespace std;

class B{

public:

virtual void show(){cout<<"B";}

};

class D:public B{

public:

void show() {cout<<"D";}

};

void fun1(B *ptr){ptr->show();}

void fun2(B &ref){ref.show();}

void fun3(B b){b.show();}

int main(){

B. b,*p=new D;

D. d;

fun1(p);

fun2(b);

fun3(d);

return 0;

}

程序的输出结果是

A. ) BBB

B. ) BBD

C. ) DBB

D. ) DBD

参考答案与解析:

相关试题

( 35 )有如下程序:#include <iostream>using nam

[单选题]( 35 )有如下程序:#include <iostream>using namespace std;C.lass B{public:B.(int xx):x(xx) {++cout; x+=10;}virtual void show() const{cout<<count<< ' _ ' <<x<<endl;}protected:static int count;private:int x;};class D:public B{p

  • 查看答案
  • ( 35 )有如下程序:#include<iostream>using name

    [单选题]( 35 )有如下程序:#include<iostream>using namespace std;class ONE{int c;public:ONE ( ) : c ( 0 ) {cout<<1;}ONE ( int n ) : c ( n ) {cout<<2;}};class TWO{ONE onel;ONE one2;public:TWO ( int m ) : one2 ( m ) {cout<<3;}};int main () tTW

  • 查看答案
  • ( 12 )有如下程序:#include <iostream>using nam

    [试题]( 12 )有如下程序:#include <iostream>using namespace stdclass Animal{public:virtual char* getType () const { return "Animal" ; }virtual char* getVoice () const { return "Voice" ; }};C.lass Dog : public Animal {public:char* getType ( ) const {retur

  • 查看答案
  • ( 27 )有如下程序:#include <iostream>using nam

    [单选题]( 27 )有如下程序:#include <iostream>using namespace std;class Toy{public:Toy(char* _n) { strcpy (name,_n); count++;}~Toy(){ count--; }char* GetName(){ return name; }static int getCount(){ return count; }private:char name[10];static int count;};int T

  • 查看答案
  • ( 13 )有如下程序:#include <iostream>using nam

    [试题]( 13 )有如下程序:#include <iostream>using namespace std;class GrandChild{public:G.randChild(){ strcpy (name,"Unknown"); }const char * getName()const { return name; }virtual char * getAddress()const=0;private:char name[20];};class GrandSon : public

  • 查看答案
  • 有如下程序:#include<iostream>using namespace

    [单选题]有如下程序:#include<iostream>using namespace std;class AA{public:A.A(){tout<<‘l’;}};class BB:public AA{int k;public:B.B():k(0){cout<<…2;}B.B(int n):k(n){cout<<‘3’;}};int main(){B.B b(4),C;return 0;}A.1312B.132C.32 D、1412

  • 查看答案
  • 有如下程序:#include<iostream>using flamespace

    [单选题]有如下程序:#include<iostream>using flamespace std;class Name{char name[20];public:Name(){strcpy(name,“”); cout<<‘?’;}Name(char*fname){strcpy(name,fname); cout<<‘?’;}};int main(){Name names[3]={Name(”张三”),Name(”李四”)};return 0;}运行此程序输出符号?的

  • 查看答案
  • 有如下程序:#include<iostream>using namespace

    [单选题]有如下程序:#include<iostream>using namespace std;class Publication{//出版物类char name[30];public:Publication(char*name=”未知名称”){strcpy(this->name,name);}const char*getName()const{return name;}virtual const char*getType()const{return“未知类型”;}};class Bo

  • 查看答案
  • 有如下程序:#include<iostream>using namespace

    [单选题]有如下程序:#include<iostream>using namespace std;class A{public:A.(int i):r1(i){}void print(){cout<<‘E’<<rl<<‘-’;}void print()const{cout<<‘C’<<rl*rl<<‘-’;}private:int rl:};int main(){A. a1(2); const A a2(4);a1.pri

  • 查看答案
  • 有如下程序:#include<iostream>using namespace

    [单选题]有如下程序:#include<iostream>using namespace std;class C1{public:-Cl()}cout<<1;}};class C2:public C1{public:~c2(){cout<<2;}};int main(){C.2 cb2;C.1*cbl:return 0;{运行时的输出结果是A.121B.21C.211 D、12

  • 查看答案
  • ( 35 )有如下程序 ;#include<iostream>using nam