class A{
void P1(){cout<<"A111"};
void P2(){cout<<"A222"};
};
class B:public A{
void P1(){cout<<"B111"};
virtual void P2(){cout<<"B222"};
}
..........
A*cl=NULL;
cl=new A;
A->P1();
A->P2();
delete cl;
cl=NULL;
cl=new B;
A->P1();
A->P2();
delete cl;
cl=NULL;
..........
写出运行结果;
第1题:
有如下程序#include <iostream>using namespace std;class A{public:virtual void func1 (){ cout<<"A1"; }void func2(){ cout<<"A2"; }};class B: public A{public:void func l(){ cout<<"B1"; }void func2(){ cout<<"B2"; }};int main() {A *p=new B;p->func1();p->func2();return 0;}运行此程序,屏幕上将显示输出( )。
A.B1B2
B.A1A2
C.B1A2
D.A1B2
第2题:
下列程序的运行结果是______。
include<iostream.h>
class A
{
public:
virtual void use( ) {cout<<"in A\n";}
};
class B:public A
{
public:
virtual void use( ) {cout<<"in B\n";}
};
class C:public B
{
public:
virtual void use( ){cout<<"in C\n";}
};
void main( )
{
A*obj;
bj=new C;
obj->use( );
delete obj;
}
第3题:
下面程序的运算结果是( )。 #include<iostream> using namespace std; class A { public: virtual void fun()=0; }; class B:public A } public: void fun() {cout<<"new file"<<" ";} }; class C:public A { public: void fun() { cout<<"open file"<<" ";} }; void main() { A a, * p; B b;C c; p=&c; p->fun(); p=&b; }
A.new file open file
B.new file new file
C.编译出错
D.open file new file
第4题:
下列程序的运行结果是______。
include<iostream.h>
class Base
{
public:
void f(int x){cout<<“Base:”<<x<<endl;}
);
class Derived:public Base
{
public:
void f(char*str){cout<<“Derived:”<<str<<endl;}
};
void main(void)
{
Base*pd=ne
第5题:
有如下程序:
#include<iostrealn>
using namespace std
class A{
public:
virtual void f(){cout<<1;}
void g(){cout<<2;}
};
class B:public A{
public:
virtual void f(){cout<<3;}
void g(){cout<<4;)
};
void show(A&A){a.f();a.g();}
int main(){
B b;
show(B);
return 0;
}
运行时的输出结果是
A.12
B.34
C.14
D.32
第6题:
有如下程序: #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2(){cout<<"A2";} }; class B:public A{ public: void func1(){cout<<"B1";} void func2(){cout<<"B2";} }; int main() { A *p=new B; p->func1(); p->func2(); return 0; } 执行该程序,屏幕上将显示输出( )。
A.B1B2
B.A1A2
C.B1A2
D.A1B2
第7题:
使用VC6打开考生文件夹下的工程test16_1,此工程包含一个源程序文件test16_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为:
Which act(a or b)?b
act1
act2
Bact3
Bact4
Bend
源程序文件test16_1.cpp清单如下:
include<iostream.h>
class A
{
public:
virtual void act1(){cout<<"actl\n";act2();}
void act2(){cout<<"act2\n";act3();}
/**********+****** found *****************/
void act3(){cout<<"Aact3\n";act4();}
/***************** found *****************/
virtual void act4{cout<<"Aact4\n";act5();}
void act5(){cout<<"Aend\n";}
};
class B:public A
{
void act3(){cout<<"Bact3\n";act4();}
void act4() {cout<<"Bact4\n";act5() ;}
void act5() {cout<<"Bend\n";}
};
void main (void)
{
char c;
A *a;
cout<<"Which act (a or b) ?";
/***************** found *****************/
cin<<c;
if(c=='a')
a = new A;
else
a = new B;
a->act1 ( );
delete a;
}
第8题:
下面程序输出的结果是【 】。
include <iostream>
using namespace std;
class A {
public:
virtual void show() {cout<<"A!";
};
class B: public A {
public:
void show() {cout << "B!";}
};
class C: public B{
public:
void show(){cout << "C!";}
};
void show_info(A &i) {i. show();}
void main() {
A ia; B ib; C ic; show_info(ia);show_info(ib); show_info(ic); }
第9题:
下列程序的输出结果为2,请将程序补充完整。
include <iostream>
using namespaee std;
class Base{
public:
______void fun( ){cout<<1;}
};
class Derived:public Base{
public:
void fun( ){cout<<2;}
};
int main( ){
Base*P=new Derived:
p->fun( );
delete P;
return 0;
}
第10题:
下面程序的结果是 ______。 #include<iostream.h> class A{ public: virtual void fun()=0{}; }; class B:public A{ public: void fun () {cout<< "new file" ;} }; class C: public A{ public: void fun (){cout<<"open file"<< " " } }; class D: public A{ public: void fun () {cout<< "save file\n" ;} }; void main() { A a,*p; B b; C c; D d; p=&c; p->fun (); p=&b; p->fun (); p=&d; p->fun(); }
A.new file open file save file
B.new file new file new file
C.编译出错
D.open file new file save file
第11题:
下面程序的输出结果是( )。 #include<iostream> using namespace std; void main() { char cl='a',c2='c'; cout.put('a').put('c').put('\n'); cout.put(c1).put(c2); }
A.ac a c
B.ac ac
C.a c ac c
D.a c
第12题:
下列程序的运行结果是______。
include<iostream.h>
class Base
{
public:
virtual void func(int i){cout<<"class Base:"<<i<<end1;)
};
class Derived: public Base
{
public:
void func(double d){cout<<"class Derived:"<<d<<endl;}
};
void main( )
{
Base a,*p=a;
Derived b;
p=&b;
(*p).func(3.3);
}
第13题:
下面程序的运行结果是 ______。 #include<iostream.h> class A{ public virtual、~(){ cout<<”call A:: ~A()”<<end1;} }; class B:public A{ B(int i){p=new char[i]:} -B(){ delete[)p; Cout<<”call B:: ~B()”; } }; void main() { A*a=new B(8); Delete a; }
A.call B:: ~B()
B.call B:: ~B()
C.call A:~A()
D.call A::~A()
第14题:
有如下程序: #include<iostream> using namespace std; class Base{ public: void output( ){cout<<l;} virtual void Print( ){cout<<'B';} }; class Derived:public Base{ public: void output( ){cout<<1;} void Print( ){cout<<'D';} }; int main( ){ Base*prt=new Derived; prt->output( ); prt->Print( ); delete prt; return 0; } 程序的输出结果是
A.1B
B.1D
C.2B
D.2D
第15题:
下列程序的输出结果为2,请将程序补充完整。
include<iostream>
using namespace std;
class Basc
{
public:
【 】void fun(){cout<<1;}
};
class Dcrived:public Base
{
public:
void fun(){cout<<2;}
};
int main()
{
Base*p=new Derived;
p->fun();
delete p;
return 0;
}
第16题:
有如下程序: #inClude<iostream> using namespaCe std; Class Base{ publiC: void output{Cout<<1;} virtual void Print{Cout<<B’;} }; Class Derived:publiC Base{ publiC: void output{Cout<<2;} void Print{Cout<<’D ;} }; int main { Base * ptr=new Derived; ptr一>output; ptr一>Print; delete ptr; retum0; } 执行这个程序的输出结果是( )。
A.1B
B.lD
C.2B
D.2D
第17题:
请阅读下述代码,写出程序执行的结果
#include <iostream>
using namespace std;
class CBase
{
public:
virtual void print()
{
cout<< "base" << endl;
}
void DoPrint()
{
print();
}
};
class CChild1: public CBase
{
public:
virtual void print()
{
cout<< "child1" << endl;
}
};
class CChild2: pu
{
public:
virtual void pri
{
cout<< "chil
}
};
void DoPrint(CB
{
base->DoPrint
}
void main()
{
CBase* base =
CChild1* child
CChild2* child
DoPrint(child1
DoPrint(child2
DoPrint(base);
delete base;
base = child1;
base->print();
delete child1;
delete child2;
}
第18题:
写出下列程序代码运行的结果【 】。
include<iostream.h>
class A{
public:
virtual void disp() {cout<<" calss A!" <<(end1;}
}:
class B: public A{
public:
void disp() {cout<<" class B! " <<end1:}
};
class C: public A{
public:
void disp() {cout<<"class C! " (<end1;}
};
void main() {
A a, *ptr;
B b;
C c;
a. disp();
b. disp();
c. disp();
ptr=&b;
ptr->disp();
ptr=&c;
ptr->disp():
}
第19题:
以下程序执行结果是 ( )。 #include <iostream.h> class Base { public virtual void fun() { cout<<"B"; } }; class Derived { public: Derived() { cout<<"D"; } virtual void fun(){ Base::fun(); cout<<"C"; } } int main () { Base *ptr; Derived obj; ptr=&obj; p->fun ( ); return 0; }
A.DBC
B.DCB
C.BDC
D.CBD
第20题:
有以下程序:
include <iostream>
using namespace std;
class A
{
public:
virtual void show()
{
cout<<"A";
}
};
class B : public A
{
public:
void show()
{
cout << "B";
}
};
void display( A * obj )
{
obj-> show();
}
int main ( )
{
A demol;
B demo2;
display( & demol );
display( & demo2 );
return 0;
}
执行后的输出结果为【 】。
第21题:
有如下程序: #include<iostream> using namespace std; class B{ public: Virtual void show(){cout<<“B”;} }; class D:publicB{ public: void show(){cout<<“D”;} }; void funl(B*ptr){ptr->show();} void{un2(B&ref){ref.show();} void
A.BBB
B.BBD
C.DBB
D.DBD
第22题:
有如下程序: #include<iostream> using namespace std; class A{ public: virtual void fancl{cout<<”Al”;} void func2{cout<<”A2”;} }; class B:public A{ public: void funcI{tout<<”Bl”;} void func2{tout<<”B2”;} }; intmain} A*P=new B: P—>funcl; P—>func2; delete p; return 0; } 执行这个程序的输出结果是( )。
A.B182
B.A1A2
C.B1A2
D.AIB2
第23题:
下面程序的运行结果是( )。 #include<iostream> using namespace std; class A { public: virtual~A() { cout<<"call A::~A()"<<endl;} }; class B:public A { char * p; public: B(int i) { p=new char[i];} ~B() { delete(p); cout<<"call B::~B()"; } }; void main() { A * a=new B(8); delete a; }
A.call B::~B()call A::~A()
B.call B::~B()
C.call A::~A()
D.call A::~A()call B::~B()