SCJP程序员认证考试

多选题class One {   public One foo() { return this; }  }  class Two extends One {  public One foo() { return this; }  }  class Three extends Two {   // insert method here  }  Which two methods, inserted individually, correctly complete the Three class?()Apub

题目
多选题
class One {   public One foo() { return this; }  }  class Two extends One {  public One foo() { return this; }  }  class Three extends Two {   // insert method here  }  Which two methods, inserted individually, correctly complete the Three class?()
A

public void foo() { }

B

public int foo() { return 3; }

C

public Two foo() { return this; }

D

public One foo() { return this; }

E

public Object foo() { return this; }

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 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 () t

TWO t ( 4 )

return 0

}

运行时的输出结果是

A ) 3

B ) 23

C ) 123

D ) 213


正确答案:C

第2题:

类clasg one在声明func成员函数时发生错误,出错原因是______。

class one

private:

int a;

public:

void func(two&);

};

class two

{

private:

int b;

friend vold one::func(two&);

};

void one::func(two&r)

{

a=r.b;

}


正确答案:class one前没有声明语句class two;
class one前没有声明语句class two; 解析:当一个类作为另一个类的成员函数、成员函数的参数或其他情况的时候,要确保编译器能正确解析。由于在rclass orle之前没有关于class two的任何说明,而在class one的func函数中却用了class two类的参数。因此是错误的。

第3题:

有如下程序:

#include

using namespace std;

class ONE

{

public:

virtual void f(){cout<<"l";}

};

class TWO:public ONE

{

public:

TWO(){cout<<"2";}

};

class THREE:public TWO

{

public:

virtual void f(){TWO::f(); cout<<"3";}

};

int main()

{

ONE aa, *p;

TWO bb;

THREE cc;

p = &cc;

p->f();

return 0;

}

执行上面程序的输出是 【 11 】 。


正确答案:

第4题:

类class one 在声明func 成员函数时发生错误,出错原因是【 】。

Class one

{

private:

int a;

public:

void func(two& )

};

class two

{

private:

int b;

friend void one: :func(two & );

};

void one: : func(two& r)

a=r.b;

}


正确答案:class one前没有声明语句class two;
class one前没有声明语句class two; 解析:当一个类作为另一个类的成员函数、成员函数的参数或其他情况的时候,要确保编译器能正确解析。由于在class one之前没有关于class two的任何说明,而在class one的func函数中却用了class two类的参数。因此是错误的。

第5题:

有如下程序:

#include<iostream>

using narnespace std;

class ONE{

int e;

public:

ONE():c(O){cout<<1;)

ONE(int n):c(13){cout<<2;}

};

class TWO{

ONE oriel;

ONE one2,

public:

TWO(int m):one2(m){cout<<3;}

};

int main(){

TWO t(4);

return O;

}

运行时的输出结果是

A.3

B.23

C.123

D.213


正确答案:B
解析:在主函数中TWO t(4),首先调用TWO类的构造函数TwO(int m):one2(m){eout<<3;},该构造函数使用成员列表初始化,因此在调用函数体前会先给私有成员赋值,然后调用ONE的构造函数ONE(int n):c(n){cout<<2;},因此会先输出2,其次输出3,故本题答案为B)。

第6题:

有如下程序: include using namespace std; class ONE { public: virtual void f() {

有如下程序:

include <iostream>

using namespace std;

class ONE

{

public:

virtual void f() { cout << "1"; }

};

class TWO: public ONE

{

public:

TWO() { cout << "2"; }

};

class THREE: public TWO

{

public:

virtual void f() {TWO::f(); cout << "3"; }

};

int main()

{

ONE aa, *p;

TWO bb;

THREE cc;

p=&cc;

P->f();

return 0;

}

执行上面程序的输出是【 】。


正确答案:2213
2213

第7题:

Given:Which code, inserted at line 15, allows the class Sprite to compile?()

A.Foo { public int bar() { return 1; }

B.new Foo { public int bar() { return 1; }

C.new Foo() { public int bar() { return 1; }

D.new class Foo { public int bar() { return 1; }


参考答案:C

第8题:

有如下程序: include using namespaee std; class ONE{ public: virtual void f

有如下程序:

include <iostream>

using namespaee std;

class ONE{

public:

virtual void f( ){cout<<"1";}

};

class TWO:public ONE{

public:

TWO( )1 cout<<"2";}

{;

class THREE:public TWO{

public:

virtual void f( )}TWO::f( );cout<<"3";}

};

int main( ){

ONE aa,*P;

TWO bb;

THREE cc;

P=&cc;

p->f( );

return 0;

}

程序的输出结果是______。


正确答案:2213
2213 解析:TWO bb;调用TWO的构造函数打印2;THREE cc;调用继承类TWO的构造函数打印2;p->f( );调用类TREE的函数f( ),先显式调用TWO类的函数f( ),TWO中没有重新定义f( )函数,所以调用TWO的基类ONE的虚函数f( );打印1,然后再打印3,故答案为2213。

第9题:

有下列程序:includeusing namespace std;class ONE{ public:virtual void f(){COUt<<"

有下列程序:

include<iostream>

using namespace std;

class ONE

{

public:

virtual void f(){COUt<<"1";}

};

c1assTWO:public ONE

{

public:

TWO(){cout<<"2";}

};

class THREE:public TWO

{

pub


正确答案:2213
2213 解析: 此题考查的是派生类的构造和析构函数。建立TWO的对象bb时,调用TWO的构造函数,输出“2”;THREE类又派生于TWO类,所以建立THREE类的对象cc时又会输出“2”;ONE类的对象指针p指向了THREE类的ONE类的虚函数f(),输出“1”;最后调用THREE类的f(),输出“3”。故最终的输出结果是2213。

第10题:

12.

A. grade one,class four

B. class four,grade one

C. Grade One,Class Four

D. Class Four,Grade One


正确答案:D
12.D【解析】英语中表示单位或地址的名词的排列顺序通常是由小及大。同时要注意首字母要大写。

更多相关问题