下列语句序列执行后,输出的结果为______。 public class ex29 { public static void main(String[] args) { int a=2; int b=3; int c=7; int d=b&c; d=d<a?d:~b; System.out.println(d); } }A.3B.2C.7D.4

题目

下列语句序列执行后,输出的结果为______。 public class ex29 { public static void main(String[] args) { int a=2; int b=3; int c=7; int d=b&c; d=d<a?d:~b; System.out.println(d); } }

A.3

B.2

C.7

D.4


相似考题
参考答案和解析
正确答案:D
更多“下列语句序列执行后,输出的结果为______。public class ex29{ public static void main(String[]a ”相关问题
  • 第1题:

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。 include usingn

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。

    include <iostream.h>

    using namespace std;

    class A

    {

    public: A() {cout<<'A';

    };

    class B:______

    {

    public: B() {cout<<'B';}

    };

    class C:______

    {

    public: C(} cout<<'C';}

    };

    class D:public B, public C

    {

    public: D(){cout<<'D';}

    };

    void main(){D obj;}


    正确答案:virtual public A; visual public A
    virtual public A; visual public A 解析:本题考核虚基类的应用。通过虚基类所派生的类,在所产生的对象中,只包含了一个和其他类共享的基础对象,也就是说,从同一个基类中以虚拟方式派生的所有类,在它们所产生的对象里,不会有一份基础对象,而只是在内存里保留一份基础对象,而派生类中只保留指向此基础对象的指针,这样就千会同时有两份基类对象的情形发生。题中程序最后字符A只输出了一次,所以类A必须为类 B和类C的虚基类。

  • 第2题:

    下列程序的输出结果为2,横线处应添加语句()。includeusing namespace std;{public:___

    下列程序的输出结果为2,横线处应添加语句( )。 #include<iostream> using namespace std; { public: ______void fun(){cout<<1;} }; class TestClass2:public TestClass1 { public:void fun(){cout<<2;) }; int main() { TestClass1 *p=new TestClass2; p->fun(); delete p; Teturn 0; }

    A.public

    B.private

    C.virtual

    D.protected


    正确答案:C
    解析:由主函数main入手,定义TestClass1类的指针对象p指向派生类Testclass2。因为基类和派生类中都有fun函数,题目要求输出为2,就是基类对象访问派生类中fun函数。通过虚函数与指向基类对象的指针变量的配合使用,就能方便调用同名函数。所以这里将基类中的fun函数声明为virtual。并且当一个成员函数被声明为虚函数后,其派生类中的同名函数自动成为虚函数。

  • 第3题:

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。 include using nam

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。

    include<iostream>

    using namespace std;

    class A

    {

    public: A(){cout<<'A';}

    };

    class B:【 】

    {

    public:B(){cout<<'B';)

    };

    class C:【 】

    {

    public;C(){cout<<'C';}

    };

    class D:public B,public C

    {

    public:D(){cout<<'D';}

    };

    void main(){D obi;}


    正确答案:virtual public A virtual public A
    virtual public A virtual public A

  • 第4题:

    在下列程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD( )。 #include<iostream> usingnamespacestd; classA { public:A(){cout<<A;} }; classB: { public:B(){cout<<B;} }; classC:virtualpublicA { public:C(){cout<<C;} }; classD:publicB,publicD { public:D(){cout<<D;} }; voidmain(){D04;}

    A.publicA

    B.privateA

    C.protectedA

    D.virtualpublicA


    正确答案:D
    D。【解析】由主函数main入手,定义了类D对象obi。其中D为类B和C的公有继承,A是C的虚基类。题目中要求的输出结果为ABCD,依次为类A、类B、类C、类D中构造函数的输出语句。为了保证基类通过多条路径被派生类继承,即保证A只被继承一次,输出一个A,所以不但需要声明A为C的虚基类,同样也要声明A为B的虚基类。

  • 第5题:

    要使程序执行后的输出结果为ABCD,应在横线处添加语句()。includeusing namespace std;

    要使程序执行后的输出结果为ABCD,应在横线处添加语句( )。 #include<iostream> using namespace std; { public:A(){cout<<'A';} }; class B=______ { public:B(){cout<<'B';} }; class C:virtual public A { public:C(){cout<<'C';} }; class D:public B,public C { public:D(){cout<<'D';} }; void main(){D obj;}

    A.public A

    B. private A

    C.protected A

    D.virtual public A


    正确答案:D
    解析:由主函数main入手,定义了类D对象obj。其中D为类B和C的公有继承,A是C的虚基类。题目中要求的输出结果为“ABCD”,依次为类A,类B,类C,类D中构造函数的输出语句。为了保证基类通过多条路径被派生类继承时,即保证A只被继承一次,输出一个A,所以不但需要声明A为C的虚基类,同样也要声明A为B的虚基类。

  • 第6题:

    阅读以下说明和Java程序,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
    【说明】
    以下Java代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分接口、类及其关系如图5-1所示。




    【Java代码】
    interface?DrawCircle?{? //绘制圆形 public(1) ;}class?RedCircle?implements?DrawCircle?{? ?//绘制红色圆形???????public?void?drawCircle(int?radius,intx,?int?y)??{????????????System.out.println("Drawing?Circle[red,radius:"?+?radius?+",x:"?+?x?+?",y:"?+y+?"]");???????}}class?GreenCircle?implements?DrawCircle?{????//绘制绿色圆形??????public?void?drawCircle(int?radius,?int?x,int?y)?{???????????System.out.println("Drawing?Circle[green,radius:"?+radius+",x:?"?+x+?",y:?"?+y+?"]");??????}}abstract?class?Shape?{????//形状? protected? ? (2)???;? ? public?Shape(DrawCircle?drawCircle)?{? ?this.drawCircle=?drawCircle;? ? ? public?abstract?void?draw();}class?Circle?extends?Shape?{? //圆形? ?private?int?x,y,radius;? public?Circle(int?x,int?y,intradius,DrawCircle?drawCircle)?{? ?(3)???;? this.x?=?x;? ? ? this.y?=?y;? ?this.radius?=radius;? }? ? ?public?void?draw()?{? ? drawCircle.? ?(4)? ?;? ? ? }}public?class?DrawCircleMain?{? public?static?void?main(String[]?args)?{? Shape?redCircle=new?Circle(?100,100,10,? (5) );//绘制红色圆形? Shape?greenCircle=new?Circle(200,200,10,(6) );//绘制绿色圆形? ?redCircle.draw(); greenCircle.draw();? ?}}


    答案:
    解析:
    (1)void drawCircle (int radius,int x,int y)
    (2)DrawCircle drawCircle
    (3)super.drawcircle=drawcircle
    (4)drawCircle(radius,x,y)
    (5)new RedCircle()
    (6)new GreenCircle()【解析】
    第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
    第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
    第三空这里用super,用super. drawcircle来引用父类的成员。
    第四空调用drawCircle(radius,x,y)方法。
    第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。