举一反三
- 有如下程序:#include[iostream.h] 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";} }; void main( ) { A *p=new B; p-]func1( ); p->func2( ); }执行该程序,屏幕上将显示输出( )。 A: B1B2 B: A1A2 C: B1A2 D: A1B2
- 有如下程序: #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: A*p=new B; B: p->func1(); C: p->func2(); D: delete p; E: retum 0;执行这个程序的输出结果是______。A.B1B2 F: A1A2 G: B1A2 H: A1B2
- 对于类定义:class Apublic:virtual void func1()void func2();class B:public Apublic:void func1()cout<<"class B func1"<<end1;virtual void func2()cout<<"class B func2"<<end1;;下面叙述正确的是()。 A: A∷func2()和B∷func1()都是虚函数 B: A∷func2()和B∷func1()都不是虚函数 C: B∷func1()是虚函数,而A∷func2()不是虚函数 D: B∷func1()不是虚函数,而A∷func2()是虚函数
- 对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout A: A::func2( )和B::func1( )都是虚函数 B: A::func2( )和B::func1( )都不是虚函数 C: B::func1( )是虚函数,而A::func2( )不是虚函数 D: B::func1( )不是虚函数,而A::func2( )是虚函数
- 下面程序的结果是( )。 #include<iostream.h> class A int a; public: A: A():a(1) B: void showa()cout<<a; C: ; D: Class Bint a; E: public: F: B():a(2) G: void showa()cout<<a; H: ); I: class C:public A,public Bint a; J: public: K: C():a(3) L: void showa()cout<<a; M: ; N: void main()C c; O: c.showa(); P: A) 1 Q: B) 2 R: C) 3 S: D) 程序有错误
内容
- 0
写出程序运行结果:_________ #include <iostream.h> class Bas { public: ~Bas() { cout<<"Bas construct"<<endl; } virtual void f()=0; }; class Dev:public Bas { public: ~Dev() { cout<<"Bas construct"<<endl; } virtual void f() { cout<<"Dev::f"<<endl; } }; void main() { Bas *a; Dev p; a=&p; a->f(); }
- 1
以下程序的执行结果是______ #include<iostream.h> void func(int); void main() { int k=4 func(k) ; func(k) : cout<<end1; } void func(int a) { static int m=0; m+=a; cout<<m<<" "; }
- 2
下面程序的运算结果是( )。 #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
- 3
写出下列程序的运行结果。 #include<iostream. h> class X{ public: virtual void disp(){cout<<”X类的disp函数<<”end1;} }; class Y:public X{ public: void disp(){cout<<”Y类的disp函数<<”end1;} }; void main(){ X a, *p=&a; Y b; p->disp(); p=&b; p->disp(); } 运行结果为: [14] [15]
- 4
有类定义如下 class A{ public: void func const { }; static void func1 { }; void func2 { } private: int i = 0; }; 则哪个语句块的语法是非法的?