Java认证考试

class A {  public A() {  System.out.println(“hello from a”);  }  }  class B extends A {  public B () {  System.out.println(“hello from b”);  super();  }  }  public class Test {  public static void main(String args[]) {  A a = new B();  }  }   What is the

题目

class A {  public A() {  System.out.println(“hello from a”);  }  }  class B extends A {  public B () {  System.out.println(“hello from b”);  super();  }  }  public class Test {  public static void main(String args[]) {  A a = new B();  }  }   What is the result when main is executed?()  

  • A、 Compilation fails.
  • B、 hello from a
  • C、 hello from b
  • D、 hello from b hello from a
  • E、 hello from a hello from b
参考答案和解析
正确答案:A
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序中横线处正确的语句是()。includeusing namespace std;class TestClass{publi

下列程序中横线处正确的语句是( )。 #include<iostream> using namespace std; class TestClass { public: void fun(){cout<<"TestClass::fun"<<end1;} }; class TestClass1:public TestClass { void fun() { ______//显示调用基类的函数 fun() cout<<"TestClass1::fun"<<end1; } };

A.fun();

B.TestClass.fun()

C.TestClass::fun();

D.TestClass->fun();


正确答案:C

第2题:

下面程序输出的结果为

#include"iostream.h"

class A

{

public:

A( ){cout<<"CLASS A"<<endl;}

~A( ){}

};

class B:public A

{

public:

B( ){cout<<"CLASS B"<<endl;}

~B( ){}

};

void main( )

{

A*p;

p=new B;

B *q;

q=new B;

}

A.CLASS A CLASS B

B.CLASS A CLASS B CLASS B

C.CLASS A CLASS B CLASS A CLASS B

D.CLASS A CLASS B CLASS B CLASS B


正确答案:C
解析:每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。注意:类的实例化和构造函数、析构函数的调用方式和何时调用。

第3题:

以下程序输出结果为______。 include using namespace std; class TestClass 1 { publi

以下程序输出结果为______。

include<iostream>

using namespace std;

class TestClass 1

{

public:

TestClass1(){}

TestClass1(int i)

{x1=i;}

void dispa()

{cout<<"x1="<<x1<<",";}

private:

int x1;

}:

class TestClass2:public TestClass1

{

public:

TestClass2(){}

TestClass2(int i):TestClass1(i+10)

{

x2=i:

}

void dispb()

{

dispa();

cout<<"x2="<<x2<<end1;

}

private:

int x2:

}:

int main()

{

TestClass2 b(2):

b.dispb();

return 0;

}


正确答案:x1=12x2=2
x1=12,x2=2 解析:由主函数main入于,首先定义类TestClass2的对象b,成员数据为2。然后调用dispb函数。dispb中首先执行dispa函数,TestClass2为TestClass1的派生类,“TestClass2(int i):TestClass1(i+10)”所以TestClass1中的x1=12,所以dispa输出的结果为x1=12。在TestClass1中x2=2,所以dispb中的输出语句“cout"x2="x2end1;”中输出x2=2。即答案为“x1=12,x2=2”。

第4题:

有以下程序:include using namespace std;int s=0;class sample{ static int n;publi

有以下程序: #include <iostream> using namespace std; int s=0; class sample { static int n; public: sample (int i) { n=i; } static void add() { s+=n; } }; int sample::n=0;

A.2

B.5

C.7

D.3


正确答案:B
解析:程序中定义对象a(2)时,通过构造函数使静态数据成员n=2,在定义对象 b(5)时,通过构造函数使静态数据成员n=5(覆盖了前面n=2),再执行“sample::add();”使全局变量s=5。注意:本题程序中尽管代码中静态数据成员n的初始化语句“int sample::n=0;”没有意义(因为各对象中的n值由变量i赋给),但不能省略,否则会出现编译错误。

第5题:

下面程序的结果为 include int c; class A { private: int a; static int b; publi

下面程序的结果为

#include<iostream.h>

int c;

class A

{

private:

int a;

static int b;

public:

A( ) {a=0;c=0;}

void seta( ) {a++;}

void setb( ) {b++;}

void setc( ) {c++;}

void display( ) {cout < < a < < " " < < b < < " " < < c;}

};

int A: :b=0;

void main( )

{

A a1,a2;

a1.seta( ) ;

a1.setb( ) ;

al .setc( ) ;

a2.seta( ) ;

a2.setb( ) ;

a2.setc( ) ;

a2.display( ) ;

}

A.1 2 1

B.1 2 2

C.1 1 2

D.2 2 2


正确答案:B
解析:C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和s2中都自加1。所以b、c为 2,a为1。

第6题:

下面程序输出的结果为 #include"iostream.h" class A { public: A(){cout<<"CLASSA"<<endl;} ~A() {} }; class B:public A { public: B(){cout<<"CLASSB"<<endl;} ~B() {} }; void main() { A * p; p=new B; B *q; q=new B; }

A.CLASS A CLASS B

B.CLASS A CLASS B CLASS B

C.CLASS A CLASS B CLASS A CLASS B

D.CLASS A CLASS B CLASS B CLASS B


正确答案:C
解析:每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。注意:类的实例化和构造函数、析函数的调用方式和何时调用。

第7题:

若有如下程序:includeusing namespace std;int s=O;class sample{static int n;publi

若有如下程序: #include<iostream> using namespace std; int s=O; class sample { static int n; public: sample(int i) { n=i; } static void add() { s+=n; } }; int sample::s=0; int main() { sample a(2),b(5); sample::add(); cout<<S<<end1; return 0; } 程序运行后的输出结果是

A.2

B.5

C.7

D.3


正确答案:B
解析:本题考核静态数据成员和静态成员函数的应用。程序中定义一个类sample,它包括一个静态数据成员n和一个静态成员函数add,并在类的构造函数中给类私有静态数据成员n赋值。在主函数main中,定义对象a(2)时,通过构造函数使静态数据成员n的值变为2,在定义对象b(5)时,通过构造函数使静态数据成员n=5(覆盖了前面的n=2),再执行sample::add()使全局变量s=5。

第8题:

在下面的类定义中,this指针的用途是______。 include class Sample { int x,y; publi

在下面的类定义中,this指针的用途是______。

include<iostream.h>

class Sample

{

int x,y;

public:

Sample(int i,int j){x=i;y=j;}

void assign(Sample sa);

};

void Sample::assign(Sample p)

{

if(this!=&p)

{

x=p.x;

y=p.y;

}

}


正确答案:防止类对象自己给自己赋值
防止类对象自己给自己赋值 解析:对象给自己赋值是一种自毁行为,这种行为如果不加以判断,可能造成无意识的破坏。

第9题:

Class a = new Class(); Class b = new Class();

if(a == b) returns true or false, why?


正确答案:
               

第10题:

The IP address 192.168.100.1 belongs to which class of IP address space?()

A. Class A

B. Class B

C. Class C

D. Class D


参考答案:C

更多相关问题