更多“关于类定义中的语句错误的是 class A { iht i; A a; A * b; char * ch;};A.int i;B.A a; ”相关问题
  • 第1题:

    以下类定义中可能会引起错误的语句是( )。 Class A { public: ~A(){}//1 int i;//2 private: int j;//3 A(int i){i++;}//4 };

    A.1

    B.2

    C.3

    D.4


    正确答案:D

  • 第2题:

    下列的变量定义中,错误的是

    A.int a;b

    B.float a,b1=1.23f;

    C.char ch='d';

    D.public int i=100,j;


    正确答案:A

  • 第3题:

    有以下函数

    void prt(char ch,int n)

    {int i;

    for(i=1,i<=n;i++)

    printf(i%6 !=O?“%c”:“%c\n”,ch);

    }

    执行调用语句prt(’*’,24);后,函数共输出 行*号。


    正确答案:4
    4

  • 第4题:

    有语句定义共用体类型变量: union { int i; char ch; float f; } a,bc; 上面定义的共用体变量a、b、c各占( )字节。

    A.4

    B.2

    C.7

    D.1


    正确答案:A

  • 第5题:

    下列定义语句中,错误的是

    A.int px*;

    B.char*acp[10];

    C.char(*pac)[10];

    D.int(*p)();


    正确答案:A
    解析:B项定义了一个指针数组,正确。C项定义了一个指向字符数组的指针,即数组指针,正确。D项定义了一个指向返回值为整型量的函数的指针,即函数指针,正确。A项定义语句错误,本题选A。

  • 第6题:

    如下的类定义,错误的语句是( )。class Myclass {public: int a=1; //A) Myclass( ); //B) Myclass(int i); //C) ~Myclass( ); //D)

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    解析:类中的数据成员不能在定义类时直接赋初值。

  • 第7题:

    下列引用的定义中,( )是错误的。

    A.int i; int &j=i;

    B.int i; int &j; j=i:

    C.float i; float &j=i;

    D.char d; char &k=d;


    正确答案:B

  • 第8题:

    TestClass类定义如下: class TestClass { private: intid; char gender; char*phone; public: TestClass ():id(0),gender('#'),phone(NULL){) TestClass(int no,char ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph;} }; 下面类对象定义语句中错误的是( )。

    A.TestClass myObj(i);

    B.TestClass myObj(2,"11101111155");

    C.TestClass myObj(1,'m');

    D.TestClass myObj;


    正确答案:B
    解析:B) 中由于有两个参数,所以其调用了第二个构造函数,第二个构造函数的两个缺省参数,在调用时,实参会按从左到右的顺序传给形参,所以第二个参数“11101111155”会传递给形参ge,而原型中的ge为字符型,实参为指向字符的指针,所以在编译时会出现错误。A) 与C) 都能够正确的实现参数的传递。对于D) ,由于在创建TestClass的实例myObji时,没有参数,所以其调用了第一个构造函数。

  • 第9题:

    下面程序执行后,屏幕上显示的应是( )。 public class Test{ public static void main(String[ ] args) { char ch1[]={'B','e','i','j','i','n','g'}; char ch2[]={'B','e','i','j','i','n','g','2','0','0','8'}; String s1 = new String(ch1); String s2 = new String(ch2, 0, 7); System.out.println(sl.equals(s2)); } }

    A.true

    B.false

    C.Beijing

    D.编译错误


    正确答案:A
    解析:首先可以通过字符数组来生成一个字符串对象:String(char[]value);String(charvalne,intstartIndex,intnumChars);其中,startlndex指定字符串在数组中的起始下标,numChars表示字符个数。然后再测试字符串是否相等,可调用equals()方法,两串相等则返回true,否则返回false。

  • 第10题:

    下列整数的定义中,错误的是( )。 A.int f=314.;B.int a=012;C.int i=189;S

    下列整数的定义中,错误的是( )。

    A.int f=314.;

    B.int a=012;

    C.int i=189;

    D.int d=0x123;


    正确答案:A
    A。【解析】整数的定义不能带小数点,表明是一个浮点数;其他三个都正确。

  • 第11题:

    定义char ch="$";int i=1,j;执行j=! ch&&i++以后,i的值为______。


    正确答案:

    用“&&”连接两个表达式时,若第1个表达式的值为“假”,则运算结果与第2个表达式无关,此时第2个表达式将不再进行计算。本题中第1个表达式“j=!ch”值为0,所以第2个表达式i++将不再进行计算,i的值为1。

  • 第12题:

    (9)有以下函数

    void prt(char ch,int n)

    { int i;

    for(i=1;i<=n;i++)

    printf(i%6!=0?"%c":"%c\n",ch);

    }

    执行调用语句prt('*',24);后,函数共输出了 【9】 行*号。


    正确答案:
    (9)4

  • 第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题:

    下列对变量的引用中,错误的是

    A.int a; int &p = a;

    B.char a; char &p = a;

    C.iht a; int &p; p =a;

    D.float a; float &p=a;


    正确答案:C
    解析:本题考核引用的定义和初始化。引用具有如下特点:引用能够使用任何合法变量名:引用不是变量,所以必须在定义时初始化,而且一旦初始化之后,就不能再成为其他变量的引用;引用不是值,不占存储空间,说明引用时,目标的存储状态不会改变。所以,引用只有说明,没有定义;引用仅在说明时带有“&”,以后就像普通变量一样使用,不能再带“&”。在C选项中,由于在定义引用p后没有进行初始化,所以此语句错误。

  • 第15题:

    为完成下面的程序,应在划线处填入的语句是includeusingnamespace std;class Base{pri

    为完成下面的程序,应在划线处填入的语句是 #include<iostream> using namespace std; class Base { private: int x; public: Base (int i) { x=i; } ~Base(){} }; class Derived:public Base { public: ______________//完成类Derive构造函数的定义 }; int main() { Derived Obj; return 0; }

    A.Derived(int i):Base(i){}

    B.Derived(){}

    C.void Derived (int i):Base(i){}

    D.Derived(int i){Base(i);}


    正确答案:A
    解析:本题考核派生类中的构造函数。程序中,类Derived是基类Base的公有派生。在类Derived的构造函数应该包括调用基类构造函数使基类的数据成员得以初始化。

  • 第16题:

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

  • 第17题:

    以下类定义中可能会引起错误的语句是

    class A

    {

    public:

    ~A( ){ } //1

    int i; //2

    private:

    int j; //3

    A(int i) {i++;} //4

    };

    A.1

    B.2

    C.3

    D.4


    正确答案:D
    解析:在c++语言中类定义中的构造函数是私有的,但是其却调用了其中的公有变量,在实例化时会出现错误。注意:C++语言类的定义

  • 第18题:

    下列定义变量的语句中错误的是( )。

    A.int jnt;

    B.double int_;

    C.char For;

    D.float US$;


    正确答案:D
    C语言规定,变量命名必须符合标识符的命名规则。D选项中包含了非法字符“$”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。大写字符与小写字符被认为是两个不同的字符,所以For不是关键字for。

  • 第19题:

    以下定义语句中,错误的是 ______。

    A.int a[]={1,2);

    B.char *a[3];

    C.char s[10]= "test";

    D.Int n=5,a[n];


    正确答案:D

  • 第20题:

    下列引用的定义中,( )是错误的。

    A.int i; int &j=i;

    B.int i; int &j; j=i;

    C.float i; float &j=i;

    D.chard; char &k=d;


    正确答案:B

  • 第21题:

    下列引用的定义中,( )是错误的。

    A.int i; int &j=i

    B.int i; int &j;

    C.float i; int &j; j=i

    D.char d; char &k=d;


    正确答案:B

  • 第22题:

    若有以下定义语句: double a[5],*p=a; int i=0; 对a数组元素错误的引用是( )

    A.a[i]

    B.a[5]

    C.p[4]

    D.p[i]


    正确答案:B

  • 第23题:

    在下面横线上填上适当的语句,完成程序。include using namespace std; class Base { in

    在下面横线上填上适当的语句,完成程序。

    include<iostream>

    using namespace std;

    class Base

    {

    int x;

    public:

    Base(int i){x=i;}

    ~Base(){}

    );

    class Derived:public Base

    {

    public:

    ______//完成类Derive构造函数的定义

    };

    iht main()

    {

    Derived obj


    正确答案:Derived(int i;Base(i){}。
    Derived(int i;Base(i){}。 解析: 程序中,类Derived是基类Base的公有派生。在类Derived的构造函数应该包括调用基类构造函数使基类的数据成员得以初始化,