itgle.com

若类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*jB.int k;C.retum i;D.void make()

题目

若类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.retum i;

D.void make()


相似考题
更多“若类A和类B的定义如下:class A[ int i,j;public: int geti() {return i; }};class B:public A{ i ”相关问题
  • 第1题:

    若类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的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第2题:

    若类A和类B的定义如下: class A { int i,j; public: void get(); //… } ; class B:A//默认为私有派生 { 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

  • 第3题:

    若类A和类B的定义如下,则上述定义中, 是非法的表达式。 class A { int i,j; public: void get(); //… }; class B : A //默认为私有派生 { int k; public: void make(); //… }; void B :: make() { k=i*j;}

    A.void get();

    B.int k;

    C.void make();

    D.k=i*j;


    k=i*j;

  • 第4题:

    若类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

  • 第5题:

    若类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的私有变量,它们是隐蔽的,在派生类中不能直接访问。