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

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

MyClass p=MyClass;

B

MyClass p=new MyClass;

C

MyClass& p=new MyClass;

D

MyClass a,&p=a;

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

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

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

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

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


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

第2题:

要定义一个引用变量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里的定义方式。

第3题:

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

A ) MyClass p=MyClass;

B ) MyClass p=new MyClass;

C ) MyClass &p=new MyClass;

D) MyClass a , &p=a;


正确答案:D

第4题:

类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不调用构造函数,所以此语句只调用一次构造函数。对成员函数的引用可以通过两种形式:指针->成员函数(形参表)或者对象名.成员函数名(形参表)。

第5题:

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


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

第6题:

若MyClass是一个类名,其有如下语句序列:MyClass c1,*c2;MyClass*c3=new MyClass;MyClass&c4=c1;上面的语句序列所定义的类对象的个数是( )。

A.1

B.2

C.3

D.4


正确答案:B
解析:首先定义对象的格式:(存储类型)<类名><对象名1>(<对象名2>,…,<对象名n>);第一句定义了对象c1和指针对象c2,而MyClass*c3=new MyClass是Java里的定义方式,MyClass&c4=c1这种定义方式也是不对的。

第7题:

下面是类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中的非静态数据成员,所以语句④也不正确。

第8题:

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

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

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

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

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


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

第9题:

类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

第10题:

要定义一个引用变量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里的定义方式。

更多相关问题