单选题要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是(  )。A MyClass p=MyClass;B MyClass p=new MyClass;C MyClass& p=new MyClass;D MyClass a,&p=a;

题目
单选题
要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是(  )。
A

MyClass p=MyClass;

B

MyClass p=new MyClass;

C

MyClass& p=new MyClass;

D

MyClass a,&p=a;


相似考题
参考答案和解析
正确答案: B
解析:
A项错误,不能直接使用类给对象赋值;B项错误,p是类的对象,不能用对象的指针给其赋值;C项错误,p是引用变量,不能使用对象的指针进行赋值;D项正确,定义了MyClass类的一个对象a和引用变量p,并且声明p初始化为对a的引用。
更多“要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是(  )。”相关问题
  • 第1题:

    要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是( )

    A.MyClass p=MyClass;

    B.MyClass p=new MyClass;

    C.MyClass&p=new MyClass

    D.MyClassa,&p=a;


    正确答案:D
    解析:选项A错误不存在这样的定义方式;选项B定义了一个MyClass类的对象p;选项C是Java里的定义方式。

  • 第2题:

    如何引用一个已经定义过的全局变量?


    正确答案:
    答:extern
    可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错

  • 第3题:

    类MyClass的定义如下: classMyClass { public: MyClass(){value=0;} SetVariable(inti){valtic=i;} private: intvalue; }; MyClass*P,my;p=&my; 则对下列语句序列正确的描述是( )。

    A.语句p=&my;是把对象my赋值给指针变量P

    B.语句MyClass*P,my;会调用两次类MyClass的构造函数

    C.对语句*P.SetVariable(5)的调用是正确的

    D.语句P->SetVariable(5)与语句my.SetVariable(5)等价


    正确答案:D
    D。【解析】语句p=&my;是把对象my的地址值赋给指针变量P。语句MyClass*P,my;,由于P只是一个指向对象的指针,因此定义指针P不调用构造函数,所以此语句只调用一次构造函数。对成员函数的引用可以通过两种形式:指针->成员函数(形参表)或者对象名.成员函数名(形参表)。

  • 第4题:

    类MyClass的定义如下: classMvClass { public: MyClass(){value=0;} SetVariable(inti){value=i;} private: intvalue; }; 则对下列语句序列正确的描述是( )。

    A.语句p=&my;是把对象my赋值给指针变量P

    B.语句MyClass*P,my;会调用两次类MyClass的构造函数

    C.对语句*P.SetVariable(5)的调用是正确的

    D.语句p->SetVariable(5)与语句my.SetVariable(5)等价


    正确答案:D
    D。【解析】选项A,语句P=&rny;是把对象my的地址值赋值给指针变量P;选项B,语句MyClass*P,my;中由于P只是一个指向对象的指针,因此定义指针P不调用构造函数,所以此语句只调用一次构造函数:对成员函数的引用可以通过两种形式:指针一>成员函数(形参表),或者对象名.成语函数名(形参表),故选项C错误,选项D正确。

  • 第5题:

    若有定义语句:double a,*p=&a;以下叙述中错误的是

    A.定义语句中的*号是一个间址运算符

    B.定义语句中的*号只是一个说明符

    C.定义语句中的p只能存放double类型变量的地址

    D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p


    正确答案:A
    解析:本题中的*p=&a中,*不是间址运算符,只是一个指针说明符。间址运算符用于表示某变量是指针型数据,用于存放某个地址,例如int*p,k;p=&k;*p=2;这里的*就是间址运算符。

  • 第6题:

    类MyClass的定义如下: class MyClass { pubfic: MyClass(){value=0;} SetVariable(int i){value=i;) private: intvalue; }; 则对下列语句序列正确的描述是( )。 MyClass*p,my;p=&my;

    A.语句p=&my;是把对象my赋值给指针变量p

    B.语句MyClass*p,my;会调用两次类MyClass的构造函数

    C.对语句*p.SetVariable(5)的调用是正确的

    D.语句p->SetVadable(5)与语句my.SetVariable(5)等价


    正确答案:D

  • 第7题:

    类中定义的非静态变量,只能通过类的对象引用。


    正确答案:错误

  • 第8题:

    C#中TestClass为一自定义类,其中有以下属性定义: publicvoidProperty{…}开卷考 使用以下语句创建了该类的对象,并使变量obj引用该对象: TestClassobj=newTestClass(); 那么,可通过什么方式访问类TestClass的Property属性?()

    • A、Obj,Property
    • B、MyClass.Property
    • C、obj::Property
    • D、obj.Property()

    正确答案:A

  • 第9题:

    C#中TestClass为一自定义类,其中有以下属性定义 publicvoidProperty{…} 使用以下语句创建了该类的对象,并使变量obj引用该对象: TestClassobj=newTestClass(); 那么,可通过什么方式访问类TestClass的Property属性?()

    • A、Obj,Property;
    • B、MyClass.Property;
    • C、obj::Property;
    • D、obj.Property;

    正确答案:D

  • 第10题:

    多选题
    关于类的描叙正确的是()。
    A

    在类中定义的变量称为类的成员变量,在别的类中可以直接使用

    B

    局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中

    C

    使用别的类的方法仅仅需要引用方法的名字即可

    D

    一个类的方法使用该类的另一个方法时可以直接引用方法名


    正确答案: A,B
    解析: 暂无解析

  • 第11题:

    单选题
    C#中的TestClass为一自定义类,其中有如下属性定义:   public void Property{……}  使用以下语句创建了该类的对象,并让变量obj引用该对象。   TestClass obj=new TestClass();  那么,可通过()方式访问类TestClass的Property属性。
    A

     MyClass. Property

    B

     obj. Property

    C

     TestClass. Property

    D

     obj. Property()


    正确答案: B
    解析: 暂无解析

  • 第12题:

    单选题
    若有定义语句:double a,*p=&a;以下叙述中错误的是(  )。
    A

    定义语句中的p只能存放double类型变量的地址

    B

    定义语句中的*号是一个说明符

    C

    定义语句中的*号是一个间址运算符

    D

    定义语句中*p=&a把变量a的地址作为初值赋给指针变量p


    正确答案: D
    解析:
    C项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A项正确,p是double类型的指针,只能存放double类型的地址;B项正确,定义指针变量时,星号*是一个说明符,用来说明该变量是指针变量;D项正确,“&”是求地址运算符,*p=&a用来求出double变量a的地址赋给指针变量p,而使p指向a。答案选择C选项。

  • 第13题:

    下面是类MyClass的定义,对定义中各种语句描述正确的是( )。

    class MyClass { publiC: void MyClass(int a) //①

    { x=a; ) int func(int a,int b) //②

    { x=a; y=b; } int func(int a,int b,int c=0) //③

    { x=a; y=b; z=c; } static void resetValue() //④

    { x=0; } private: int X,y,Z; };

    A.语句①是类MyClass的构造函数定义

    B.语句②和语句③实现类成员函数的重载

    C.语句④实现对类成员变量x的清零操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:类的构造函数没有返回类型,所以语句①是错误的;语句②和语句③将会使函数func()的调用产生歧义;成员函数resetValue()是静态成员函数,那么它不能访问类MyClass中的非静态数据成员,所以语句④也不正确。

  • 第14题:

    类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i;) private: int value; }; 则对下列语句序列正确的描述是( )。

    A.MyClass*p,my;p=&my;

    B.语句p=&my;是把对象my赋值给指针变量p

    C.语句MyClass*p,my;会调用两次类MyClass的构造函数

    D.对语句*p.SetV ariable(5)与语句my.SetVariable(5)等价


    正确答案:D

  • 第15题:

    要定义一个引用变量P,使之引用类MyClass的一个对象,正确的定义语句是( )。

    A.MyClassp=MyClass;

    B.MyClassp=newMyClass;

    C.MyClass&p=newMyClass;

    D.MyClassa,&p=a;


    正确答案:D
    D。【解析】选项A错误不存在这样的定义方式;选项B定义了一个M:yClass类的对象P;选项C是Java里的定义方式。

  • 第16题:

    下面是类MyClass的定义,对定义中各语句描述正确的是( )。 class MyClass { private: int x,y, z; public: void MyClass(int A) { x=a; } //① int f(int a, int B) //② { x=a; y=b; } int f(int a,

    A.语句①是类MyClass 的构造函数的定义

    B.语句②和③实现类成员函数的重载

    C.语句④实现对类成员变量x的更新操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:在C++中构造函数没有返回类型,所以语句①是错误的。语句②和语句③在进行f(x,y)调用时会产生二义性。静态成员函数不能直接访问类中说明的非静态成员。所以语句④也是错误的。

  • 第17题:

    要定义一个引用变量P,使之引用类MyClass的一个对象,正确的定义语句是( )。

    A.MyClassp=MyClass;

    B.MyClassp=newMyClass;

    C.MyClass&p=newMyClass

    D.MyClassa,&p=a;


    正确答案:D
    D。【解析】选项A错误,不存在这样的定义方式;选项B定义了一个MyClass类的对象P;选项C是Java的定义方式。

  • 第18题:

    变量引用中,在变量名前加$号,代表(),引用一个未定义的变量,变量值为()


    正确答案:变量内容;空字符串

  • 第19题:

    关于类的描叙正确的是()。

    • A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用
    • B、局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
    • C、使用别的类的方法仅仅需要引用方法的名字即可
    • D、一个类的方法使用该类的另一个方法时可以直接引用方法名

    正确答案:B,D

  • 第20题:

    C#中MyClass为一自定义类,其中有以下方法定义publicvoidHello(){⋯⋯}使用以下语句创建了该类的对象,并使变量obj引用该对象:MyClassobj=newMyClass();那么,可如何访问类MyClass的Hello方法?()。

    • A、obj.Hello();
    • B、obj::Hello();
    • C、MyClass.Hello();
    • D、MyClass::Hello();

    正确答案:A

  • 第21题:

    填空题
    变量引用中,在变量名前加$号,代表(),引用一个未定义的变量,变量值为()

    正确答案: 变量内容,空字符串
    解析: 暂无解析

  • 第22题:

    单选题
    若MyClass是一个类名,且有如下语句序列MyClass cl,*c2;MyClass *c3=new MyClass;MyClass &c4=cl;上面的语句序列所定义的类对象的个数是(  )。
    A

    1

    B

    2

    C

    3

    D

    4


    正确答案: B
    解析:
    c1是MyClass类的对象;c2是类的指针,没有指向任何对象;c3是类的指针,指向新建的类对象;c4是类对象的引用,是对象c1的别名,没有创建新的类对象。因此,c1、c3创建了新的类对象,程序共定义了2个类对象。

  • 第23题:

    单选题
    C#中MyClass为一自定义类,其中有以下方法定义publicvoidHello(){⋯⋯}使用以下语句创建了该类的对象,并使变量obj引用该对象:MyClassobj=newMyClass();那么,可如何访问类MyClass的Hello方法?()。
    A

    obj.Hello();

    B

    obj::Hello();

    C

    MyClass.Hello();

    D

    MyClass::Hello();


    正确答案: D
    解析: 暂无解析