现有:  public  class  TestDemo{     private int X-2;      stat

题目
多选题
现有:  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

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

第1题:

若有如下程序:includeusing namespace std;Class TestClass1{private:int a;public:T

若有如下程序: #include<iostream> using namespace std; Class TestClass1 { private: int a; public: TestClassl(int i) { a=i; } void disp() { cout<<a<<“,”; } }; Class TestClass2 { private: int b; public

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10


正确答案:D
解析: 首先定义TestClass3的对象Obj,参数为10。其中TestClass3为TestClassl和TestClass2的派生类。然后调用disp成员函数。Disp中首先执行“TestClassl::disp();”,然后执行“TestClass2::disp();”,最后执行输出语句“coutcend1”。TestClass1(k-2),所以第一个输出8,TestClass2(k+2),第二个输出12,最后一个本类中的输出即为10。

第2题:

下面这个程序的结果是includeclass A{private:int a;public:void seta();int geta(

下面这个程序的结果是 #include<iostream.h> class A { private: int a; public: void seta();int geta();}; void A∷seta() {a=1;} int A∷geta() {return a;} class B { pnvate: int a; publiC: void sera();int geta();}; void B∷seta() {a = 2;} int B∷geta() {return a;} class C:public A,public B { private: int b; public: void display();}; void C∷display() { int b=geta(); cout<<b;} void main() { C c; c.seta(); c.display();}

A.1

B.2

C.随机输出1或2

D.程序有错


正确答案:D
解析:在类A中有geta()函数,在类B中也有geta()函数,类C继承了类A和类B,这样就产生了二义性,所以程序会出错。

第3题:

请在mian函数中填空使下面程序的输出结果为1 1。 include class A { private:

请在mian函数中填空使下面程序的输出结果为1 1。

include<iostream.h>

class A

{ private:

int a;

int b;

public:

A( ):a(0) ,b(1) { }

void show( ) { cout < < a < < " " < < b;} };

class B

{ private:

int a;

int c;

public:

B( ):a(1),


正确答案:cc.B::show( );
cc.B::show( ); 解析:class A中有show( )函数,class B中也有show( )函数,class C继承了 class A和class B,产生二义性,这时C的对象cc必须用域名来确定调用的是哪个show函数,因为答案是1 1,所以要加域名B::。注意:C++中二义性的解决方法。

第4题:

给出下列代码,如何使成员变量m被方法fun( )直接访问? class Test{ private int m; public static void fun( ){ … } }

A.将private int m改为protected int m

B.将private int m改为public int m

C.将private int m改为static i

D.将private int m改为int m


正确答案:C
解析:在静态方法中不能直接访问非静态的成员,如果要在fun()中直接访问变量m,应将变量m用static修饰。

第5题:

给出下列代码,如何使成员变量m被方法fun( )直接访问?Class Test{private int m;public static void fun( ){} }

A.将private int m改为protected int m

B.将private int m改为public int m

C.将private int m改为static int m

D.将private int m改为int m


正确答案:C

第6题:

下列类的定义中,有( ) 处语法错误。 class Base { public: Base(){} Base(int i) { data=i; } private: int data; }; class Derive: public Base { public: Derive(): Base(O) { } Derive(int x) { d=x; } void setvalue(int i) { data=i; } private: d; };

A.1

B.2

C.3

D.4


正确答案:B
解析:本题考核派生类的定义和成员的访问权限。第一处错误:在派生类的构造函数Derive(intx)中没有调用基类的构造函数对基类对象初始化:第二处错误:数据data是基类Base的私有成员,派生类Derive不能访问,所以在函数setvalue中对data的赋值是错误的。

第7题:

有如下类定义:

class Point{

public:

Point(int xx=0,int yy=0):x(xx),y(yy) { }

private:

int x,y;

};

class Circle:public Point{

public:

Circle(int r):radius(r) { }

private:

int radius;

};

派生类Circle中数据成员的个数是( )。

A、3

B、1

C、5

D、2


答案:A
解析:本题考查默认构造函数和带参数的构造函数,题目中定义一个对象a(2)以及对象数组b[3],共执行3次构造函数,对象指针不调用构造函数。


第8题:

有以下程序:includeusing namespace std;class A{private:int a;public:A(int i){a=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<<“,”;

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10


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

第9题:

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

若有以下程序 #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的成员初始化列表。

第10题:

下面这个程序的结果是 include class A { private: int a; public: void seta( ) ;

下面这个程序的结果是

#include<iostream.h>

class A

{

private:

int a;

public:

void seta( ) ;int geta( ) ;};

void A: :seta( )

{ a=1;}

int A: :geta( )

{ retum a;}

class B

{ private:

int a;

public:

void seta( ) ;int geta( ) ;};

void B: :seta( )

{a=2;}

int B: :geta( )

{return a;}

class C: public A,public B

{ private:

int b;

public:

void display( ) ;};

void C: :display( )

{ int b=geta( ) ;

cout < < b;}

void main( )

{ C c;

c. seta( ) ;

c. display( ) ;}

A.1

B.2

C.随机输出1或2

D.程序有错


正确答案:D
解析:在类A中有geta( ) 函数,在类B中也有geta( ) 函数,类C继承了类A和类B,这样就产生了二义性,所以程序会出错。

更多相关问题