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

D.void make()


相似考题
更多“若类A和类B的定义如下 class A { int i,j; public: int geti( ) { return i; } }; class B:publi ”相关问题
  • 第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的私有变量,它们是隐蔽的,在派生类中不能直接访问。