更多“已知类A有公用数据成员a,且有Aohj2;A*constptr-newA;则下列语句正确的是( )。 A)ptr-&gt ”相关问题
  • 第1题:

    已知类A有公用数据成员a,并重载了“=”运算符,且有A obj2;const A*ptr new A;则下列语句错误的是( )。

    A.ptr->a=100;

    B.ptr=&obj2;

    C.ptr++;

    D.obj2=*ptr;


    正确答案:A
    解析: 本题考查const修饰符的作用。注意:const位置不同,其修饰的部分也是不同的。本题中const修饰的是ptr所指的对象本身,所以,ptr是可以重新指向新的对象,而ptr->a则无法被更新。

  • 第2题:

    已知类A有公用数据成员a,且有A obj2;A * const ptr=new A;则下列语句正确的是

    A.ptr->a=100;

    B.ptr=&obj2;

    C.ptr++;

    D.ptr=obj2;


    正确答案:A
    解析:本题主要考察const的使用,const根据其位置的不同修饰不同的成份,从而表现出灵活的特性,考生容易混淆。此处const修饰的是指针,雕指针本身不能改变,故选项B、C和D都是错误的。但是指针指向的地址里面的值确实可以改变的,因此选项A是正确答案。

  • 第3题:

    请教:2016年计算机二级C++基础练习二单选题15如何解答?

    已知类A有公用数据成员a,并重载了=运算符,且有Aobj2;constA*ptr=newA;,则下列语句错误的是()。

    A.ptr->a=100;

    B.ptr=&obj2;

    C.ptr++;

    D.obj2=*ptr;


      A

      【解析】本题考查const修饰符的作用。注意,const位置不同,其修饰的部分也是不同的。本题中const修饰的是ptr所指的对象本身,所以,ptr可以重新指向新的对象,而ptr->a则无法被更新。

  • 第4题:

    已知类A中有公用数据成员B *b;其中B为类名。则下列语句错误的是

    A.A():d(new B) {} B) A(const A &oo):d(new

    B.{*d= *oo.d;}

    C.~A(D) {}

    D.~A(){delete d;}


    正确答案:C
    解析:首先考生要能判断出四个选项是构造函数和析构函数,其中d是类A的一个需要初始化的数据成员,且是一个指针。在初始化时,必须指明类B的某对象的地址,所以,new B可以完成这个功能.而折构函数不能带参数,这是常识性的知识,因此正确答案为C。

  • 第5题:

    已知类A有公用数据成员a,并重载了=运算符,且有Aobj2;constA*ptr=newA;,则下列语句错误的是( )。

    A.ptr->a=100;

    B.ptr=&obj2;

    C.ptr++;

    D.obj2=*ptr;


    正确答案:A
    A。【解析】本题考查const修饰符的作用。注意,const位置不同,其修饰的部分也是不同的。本题中const修饰的是ptr所指的对象本身,所以,ptr可以重新指向新的对象,而ptr->a则无法被更新。