更多“设有定义: class C {public:int value;… }; int x,*p; 则以下引用形式中,正确的是A.x=value;B.x= ”相关问题
  • 第1题:

    设有定义 class C { public: int value; … }; int x, * p; 则以下引用形式中,正确的是

    A.x=value;

    B.x=C: :value;

    C.p=&value

    D.p=C: :value


    正确答案:B
    解析:value作为类的数据成员在引用时可以通过对象来引用,也可以通过域操作符引入类名来限定。因此选项A和C可以排除,由于选项D中p是指针,它对指针变量的赋值方式是错误的。

  • 第2题:

    类MyClass的定义如下: class MyClass { public: MyClass(){} MyClass(int i) { value=new int(i); } int *value; }; 若要对类中的value赋值,则下面的语句中,正确的是( )。

    A.MyClass my;my.value=10;

    B.MyClass my;*my,value=10;

    C.MyClass my;my.*value=10;

    D.MyClass my(10);


    正确答案:D

  • 第3题:

    类MyClas的定义如下: class MyClas{ public: MyClas(){} MyClas(int a){ value=new.int(i); } int *value; }; 若要对类中的value赋值,则下面的语句中正确的是( )

    A.MyClas x;x.value=10;

    B.MyClas x; *x.value=10;

    C.MyClas x;x. *value=10;

    D.MyClas x(10);


    正确答案:D
    解析:选项A中,直接对地址赋值,因此选项A是错误的;c++中不能对未初始化的指针变量赋值,因此选项B是错误的;选项C有语法错误;选项D通过调用类的构造函数给value赋初值10。

  • 第4题:

    设有定义: class C {public: int ValUe; }; int X,*p; 则以下引用形式中,正确的是( )。

    A.x=value;

    B.x=C::value;

    C.p=&value

    D.p=C::value


    正确答案:B
    解析: value作为类的数据成员在引用时可以通过对象来引用,也可以通过域操作符引入类名来限定。由于选项D中p是指针,它对指针变量的赋值方式是错误的。

  • 第5题:

    类MyClass的定义如下: class MyClass { public: MyClass(){} MyClass(int i){value=new int(i);} int*value; }; 若要对value赋值,则下面语句正确的是( )。

    A.MyClass my;my.value=10;

    B.MyClass my;*my.value=10;

    C.MyClass my;my.*value=10;

    D.MyClass my(10);


    正确答案:D