多选题1) class Person { 2) public void printValue(int i, int j) {/*…*/ }    3) public void printValue(int i){/*...*/ }    4) } 5) public class Teacher extends Person {    6) public void printValue() {/*...*/ }    7) public void printValue(int i) {/*...*/}   

题目
多选题
1) class Person { 2) public void printValue(int i, int j) {/*…*/ }    3) public void printValue(int i){/*...*/ }    4) } 5) public class Teacher extends Person {    6) public void printValue() {/*...*/ }    7) public void printValue(int i) {/*...*/}    8) public static void main(String args[]){    9) Person t = new Teacher();    10) t.printValue(10);   11) }    12) } Which method will the statement on line 10 call?()
A

on line 2

B

on line 3

C

on line 6

D

on line 7


相似考题
更多“1) class Person { 2) public void printValue(int i, int j) {/”相关问题
  • 第1题:

    以下程序的执行结果是【】。include class B{public:B(){}B(int i.int j); void printb

    以下程序的执行结果是【 】。

    include <iostream.h>

    class B

    {

    public:

    B(){}

    B(int i.int j);

    void printb();

    private:

    int a,b;

    };

    class A

    {

    public:

    A() { }

    A(int i,int j);

    void printa();

    private:

    B c;

    };

    A:: A(int i,int j):c(i, j)

    { }

    void A:: pfinta()

    {

    c. printb();

    }

    B::B(int i,int j)

    {

    a=i;

    b=j;

    }

    void B::printb()

    {

    cout<<"a="<<a<<",b="<<b<<end1;

    }

    void main()

    {

    A m(7,9);

    m. printa();

    }


    正确答案:a=7b=9
    a=7,b=9

  • 第2题:

    若类A和类B的定义如下:includeclass A{int i*j;public:int geti(){return i;}};class

    若类A和类B的定义如下: #include<malloc.h> class A { int i*j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j; } ); 则上述定义中非法的表达式是( )。

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make();


    正确答案:A
    解析:因为派生类不能访问基类的私有成员i和j(默认情况下,成员的属性为私有),所以表达式k=i*j是非法的。其余的访问权限都是许可的。

  • 第3题:

    若类A和类B的定义如下: class A { int i,j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j } }; 则上述定义中

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第4题:

    有以下程序:include using namespacestd;class A{public:A(int i,int j){ a=1; b=j;}

    有以下程序:#include <iostream>using namespace std;class A{public: A(int i,int j) { a=1; b=j; } void move (int x,int y) { a+=x; b+=y; } void show() cout<<a<<","<<b<<end1 } private: int a,b; }; class B : private A { public: B(int i,int 3):A (i,j) {} void fun() { move (3,5); } void f1() { A::show(); } }; int main() { B d(3,4); d.fun(); d.f1(); return 0; } 程序执行后的输出结果是

    A.3,4

    B.6,8

    C.6,9

    D.4,3


    正确答案:C
    解析:本题考核派生类的应用。本题中,类B是类A的私有派生类,在类B的成员函数fun中调用基类A的成员函数move,并传入实参3和5。在类B的成员函数f1中调用基类A的成员函数show,来显示基类数据成员a和b的值。主函数main中,定义了派生类B的对象d,并赋初值3和4.然后调用对象d的成员函数fun和f1,通过上述对函数fun和f1的功能的描述可知,程序最后输出6和9。

  • 第5题:

    若有以下程序include using namespace std;class A{public: A(int i,int j) {a=i;b=j

    若有以下程序 #include <iostream> using namespace std; class A { public: A(int i,int j) { a=i; b=j; } void move(int x, int y) { a+=x; b+=y; } void show() { cout < <a < <" , " <<b<< end1; } private: int a,b; }; class B : private A { public: B(int i,int j) :A(i,j) {} void fun ( ) { move (3, 5); } void f1 ( ) { A::show(); } }; int main ( ) { B d(3,4); d. fun ( ); d.f1(); return 0; } 程序执行后的输出结果是 ( )。

    A.3,4

    B.6,8

    C.6,9

    D.4,3


    正确答案:C
    解析:本题考核派生类的应用。本题中,类B是类A的私有派生类,在类B的成员函数fun()中调用基类A的成员函数move(),并传入实参3和5。在类B的成员函数f1()中调用基类A的成员函数show(),来显示基类数据成员a和b的值。主函数中,定义了派生类B的对象d,并赋初值3和4。然后调用对象d的成员函数fun()和f1(),通过上述对函数fun()和f1()的功能的描述可知,程序最后输出6和9。

  • 第6题:

    若类A和类B的定义如下: class A { public: int i,j; void get(); }; class B:A{ int i, j; protected; int k; public: void make(); }; void B: :make()(k=i*j;} 则其中 ______ 是非法的表达式。

    A.void get();

    B.int k;

    C.void make();

    D.k=i*j;


    正确答案:D

  • 第7题:

    若有以下程序:include using namespacestd;class A {private: int a;public:A(int i)

    若有以下程序: #include <iostream> using namespace std; class A { private: int a; public: A(int i) { a=i; } void disp() { cout <<a<<","; } }; class B { private: int b; public: B(int j) { b=j; } void disp() { cout<<b<<","; } }; class C: public B,public A { private: int c; public: C(int k):A(k-2),B(k+2) { c=k; } void disp() { A::disp(); B::disp(); cout<<c<<end1; } }; int main() { C obj (10); obj.disp(); return 0; } 程序执行后的输出结果是

    A.10,10,10

    B.10, 12,14

    C.8,10,12

    D.8,12,10


    正确答案:D
    解析:本题考核派生类构造函数的使用。本题中,派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。

  • 第8题:

    若有如下程序:includeusing namespace std;class A{public:A(int i,int j){a=i;b=j;}

    若有如下程序: #include<iostream> using namespace std; class A { public: A(int i,int j) { a=i; b=j; } void move(int x,int y) { a+=x; b+=y; } void show() { cout<<a<<","<<b<<end1; } private: int a,b; }; class B:private A { public: B(int i,int j):A(i,j) { } void fun() { move(3,5); } void f1() { A::show(); } }; int main() { B d(3,4); d.fun(); d.f1(); return 0; } 程序执行后的输出结果是( )。

    A.3,4

    B.6,8

    C.6,9

    D.4,3


    正确答案:C
    解析:此题的执行过程如下:首先B d(3,4);语句调用B类的构造函数,B(int i,int j),B的构造函数中调用基类A的构造函数,使得a=3,b=4;d.fun()会调用函数move(3,5),使得(3,4)和(3,5)的对应部分分别相加,最后输出6,9。

  • 第9题:

    1) class Person { 2) public void printValue(int i, int j) {/*…*/ }    3) public void printValue(int i){/*...*/ }    4) } 5) public class Teacher extends Person {    6) public void printValue() {/*...*/ }    7) public void printValue(int i) {/*...*/}    8) public static void main(String args[]){    9) Person t = new Teacher();    10) t.printValue(10);   11) }    12) } Which method will the statement on line 10 call?()    

    • A、 on line 2
    • B、 on line 3
    • C、 on line 6
    • D、 on line 7

    正确答案:A,D

  • 第10题:

    public class Foo {   public static void main (String args) {   int i = 1;   int j = i++;   if ((i>++j) && (i++ ==j)) {   i +=j;   }   }   }   What is the final value of i?()  

    • A、 1
    • B、 2
    • C、 3
    • D、 4
    • E、 5

    正确答案:B

  • 第11题:

    public class Test {  public static void leftshift(int i, int j) {  i<<=j;  }  public static void main(String args[])  {  int i = 4, j = 2;  leftshift(i, j);   System.out.printIn(i); }  }     What is the result?()  

    • A、 2
    • B、 4
    • C、 8
    • D、 16
    • E、 The code will not compile.

    正确答案:B

  • 第12题:

    单选题
    1) class Person {  2) public void printValue(int i, int j) {/*…*/ }     3) public void printValue(int i){/*...*/ }     4) }  5) public class Teacher extends Person {     6) public void printValue() {/*...*/ }     7) public void printValue(int i) {/*...*/}     8) public static void main(String args[]){     9) Person t = new Teacher();     10) t.printValue(10);     11) }    12) }  Which method will the statement on line 10 call? ()
    A

     on line 2

    B

     on line 3

    C

     on line 6

    D

     on line 7


    正确答案: D
    解析: 变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要 
    进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的Teacher类的对应方法。在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。

  • 第13题:

    若类A和类B的定义如下: class A { int i,j; public: int geti () { return i; } }; class B : public A { int k; public: void make () { k=i*j; } }; 则上述定义中非法的语句是

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第14题:

    有如下程序: include using namespace std class Base{ int b; public: Base(int i) {

    有如下程序:

    include<iostream>

    using namespace std

    class Base{

    int b;

    public:

    Base(int i) {b=i;}

    Void disp ( ) {cout<<"Base:b="<<b<<''; }

    };

    class Base1:virtual public Base{

    public:

    Base1(int i):Base(i){}

    };

    class Base2:virtual public Base{

    public:

    Base2(int i):Base(i){}

    };

    class Derived:public Basepublic Base1{

    int d;

    public:

    Derived(int i ,int j):Base1(j),Base2(j),【 】

    { d=i; }

    void disp() {cout<<"Derived:d="<<d<<' ';}

    };

    int main()

    Derived objD(1,2);objD. disp()

    objD. Base::disp();

    objD. Base1::disp()

    objD. Base2::disp();

    return 0;

    }

    请将程序补充完整,使程序在运行时输出:

    Derivd:d=1 Base:b=2 Base:b=2 Base:b=2


    正确答案:Base(j)
    Base(j) 解析:因为程序在运行时输出:Derivde:d=1 Base:b=2 Base:b=2 Base:b=2,而前两个Base:b=2 Base:b=2分别来自Base1(j),Base2(j),而在程序类的声明中,Base类也具有输出Base:b=2的功能。所以,程序中应补充的代码为Base(j)。

  • 第15题:

    有以下程序:include using namespace std;class A{public: A(int i,int j) { a=i; b=

    有以下程序: #include <iostream> using namespace std; class A { public: A(int i,int j) { a=i; b=j; } void move(int x,int y) { a+=x; b+=y; } void show() { cout<<a<<","<<b<<end1; } private: int a,b; }; class B: private A { public: B(int i,int j): A(i,j) {} void fun() { move(3,5); } void fl () { A::show(); } }; int main() { B d(3,4); d.fun(); d.f1(); return 0; } 程序执行后的输出结果是

    A.3,4

    B.6,8

    C.6,9

    D.4,3


    正确答案:C
    解析:本题考核派生类的应用。本题中,类B是类A的私有派生类,在类B的成员函数fun中调用基类A的成员函数move,并传入实参3和5。在类B的成员函数fl中调用基类A的成员函数show,来显示基类数据成员a和b的值。主函数main中,定义了派生类B的对象d,并赋初值3和4。然后调用对象d的成员函数fun和fl,通过上述对函数fun和n的功能的描述可知,程序最后输出6和9。

  • 第16题:

    下列程序的输出结果是 classA{ int i,j; A(int i,int j) { this.i=i; this.j=j; } void print( ) { System.out.println("i="+i+""+"j="+j) } class B extends A{ int in; B (int i,int j,int m){ super(a,B) ; this.m=m; } void print( ) { Sytem.out.println("m+"+m);} } class C { public static void main (strang argsⅡ) { B b:new B(1,2,3); b.print( ); } }

    A.i=1 j=2 m=3

    B.m=3

    C.i=3 j=2

    D.m=1 i=1


    正确答案:B
    解析:在对象b调用prin()方法时,使用了类B内定义的print()版本,即在类B内的print()版本覆盖了在类A中的print()方法。

  • 第17题:

    若有以下程序:include using namespace std;class A{private:int a;public:A(int i){

    若有以下程序: #include <iostream> using namespace std; class A { private: int a; public: A(int i) { a=i; } void disp () { cout<<a<<","; } }; class B { private: int b; public: B(int j) { b=j; } void disp () { cout<<b<<","; } }; class C : public B,public A { private: int c; public: C(int k):A(k-2),B(k+2) { c=k; } void disp () { A::disp(); B::disp(); cout<<c<<endl; } }; int main() { C obj(10); obj.disp(); return 0; }

    A.10,10,10

    B.10,12,14

    C.8,10,12

    D.8,12,10


    正确答案:D
    解析:本题考核派生类构造函数的使用。本题中,派生类c具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。

  • 第18题:

    以下程序的执行结果是()。includeclass TestClass2{public:TestClass2 (){};TestCla

    以下程序的执行结果是( )。 #include<iostream.h> class TestClass2 { public: TestClass2 (){}; TestClass2(int i,int j); void printb(); private: int a,b; }; class TestClass1 { public: TestClass1(){} TestClass1(int i,int j); void printa(); private: TestClass2 c; }; TestClassl::TestClass1(int i,int j):c(i,j) {} void TestClass1::printa() { c.printb(); } TestClass2::TestClass2(int i,int j) { a=i: b=j; } void TestClass2::printb() { cout<<"a="<<a<<","<<"b="<<b<<endl; } void main() { TestClass1 m(7,9); m.prints(); }

    A.a=7,b=8

    B.a=8,b=7

    C.a=7,b=9

    D.a=8,b=9


    正确答案:C

  • 第19题:

    有以下程序:include using namespace std;class B{private: int a,b;public: B(){} B

    有以下程序: #include <iostream> using namespace std; class B { private: int a,b; public: B(){} B(int i,int j); void printb(); }; class A { B C; public: A(){} A(int i,int j); void printa(); }; A::A(int i,int j) :c(i,j) {} void A::printa() { c.printb (); } B::B(int i, int j) { a=i; b=j; } void B: :printb() { cout<<a<<", "<<b<<end1; } int main () { A m(7,8); m.printa(); return 0; } 该程序运行后的输出结果是( )。

    A.5,6

    B.7,8

    C.8,9

    D.9,10


    正确答案:B
    解析:本题考核类的定义和应用。程序首先定义了两个类A和B。在类A中,其私有数据成员c为类B的对象。类A的成员函数printa()中,调用私有成员对象c的成员函数printb()输出类B私有数据成员a和b的值。

  • 第20题:

    若有以下程序include using namespace std;class A {public: A(int i,int j) {a=i;b=

    若有以下程序 #include <iostream> using namespace std; class A { public: A(int i,int j) { a=i; b=j; } void move(int x,int y) { a+=x; b+=y; } void show() cout<<a<<","<<b<<end1; private int a,b; }; class B: private A { public: B(int i,int j):A(i,j) {} void fun() { move(3,5); } void fl() { A::show(); } int main() { B d(3,4); d. fun(); d.fl(); return 0; } 程序执行后的输出结果是

    A.3,4

    B.6,8

    C.6,9

    D.4,3


    正确答案:C
    解析:本题考核派生类的应用。本题中,类B是类A的私有派生类,在类B的成员函数fun中调用基类A的成员函数move,并传入实参3和5。在类B的成员函数f1中调用基类A的成员函数show,宋显示基类数据成员a和b的值。主函数main中,定义了派生类B的对象d,并赋初值3和4。然后调用对象d的成员函数fun和f1,通过上述对函数fun和n的功能的描述可知,程序最后输出6和9。

  • 第21题:

    Which are syntactically valid statement at// point x?()     class Person {     private int a;  public int change(int m){  return m;  }     }  public class Teacher extends Person {     public int b;  public static void main(String arg[]){     Person p = new Person();     Teacher t = new Teacher();    int i;  // point x     }    } 

    • A、 i = m;
    • B、 i = b;
    • C、 i = p.a;
    • D、 i = p.change(30);
    • E、 i = t.b.

    正确答案:D,E

  • 第22题:

    现有:  public  class  TestDemo{     private int X-2;      static int y=3;  public  void method(){      final int i=100;      int j  =10;     class Cinner {  public void mymethod(){      //Here     }     }     }     } 在Here处可以访问的变量是哪些?() 

    • A、X
    • B、y
    • C、j
    • D、i

    正确答案:A,B,D

  • 第23题:

    public class TestDemo{   private int x = 2;   static int y = 3;   public void method(){   final int i=100;   int j = 10;   class Cinner{   public void mymethod(){  //Here  }  }  }  }   在Here处可以访问的变量是哪些?()

    • A、x
    • B、y
    • C、i
    • D、j

    正确答案:A,B,C

  • 第24题:

    单选题
    对于下列代码: 1) class Person {   2} public void printValue(int i, int j) {//... }     3} public void printValue(int i){//... }    4} }   5) public class Teacher extends Person { 6} public void printValue( ) {//... }     7} public void printValue(int i) {//...}     8} public static void main(String args[]){     9} Person t = new Teacher( );     10} t.printValue(10);     11} } 第10行语句将调用哪行语句?()
    A

     line 2

    B

     line 3

    C

     line 6

    D

     line 7


    正确答案: B
    解析: 暂无解析