计算机二级

下面是类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的构

题目

下面是类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.语句①、②、③和④都不正确

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

第1题:

请问,使一个名为Myclass的public类可以成功编译,需满足以下哪个条件?

A.Myclass类中必须定义一个正确的main()方法

B.Myclass类必须定义在Myclass.java源文件中

C.Myclass类必须定义在Myclass包中

D.Myclass类必须被导入


myclass类必须定义在myclass.java源文件中。

第2题:

使一个名为Myclass和public类可以成功编译,需满足以下哪个条件?

A.Myclass类中必须定义一个正确的main()方法

B.Myclass类必须定义在Myclass.java源文件中

C.Myclass类必须定义在Myclass包中

D.Myclass类必须被导入


Myclass类必须定义在Myclass.java源文件中

第3题:

类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. SetVariable(5)的调用是正确的

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


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

第4题:

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

A.A

B.B

C.C

D.D


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

第5题:

已知类MyClass的定义如下: ClassMyClass{ public: MyClass(intd){data=d;} ~MyClass(){} private: intdata; }; 下列对MyClass类对象数组的定义和初始化语句中,正确的是( )。

A.MyClassarray[2];

B.MyClassarray[2]={MyClass(5)};

C.MyClassarray[2]={MyClass(5),Myclass(6)};

D.MyClass*array=newMyClass[2];


正确答案:C
C。【解析】A只是声明,没有初始化;B的初始化错误,另一个数组对象没有指明地址;D同样做的不是初始化的事情。

第6题:

下面是类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)调用时会产生二义性。静态成员函数不能直接访问类中说明的非静态成员。所以语句④也是错误的。

第7题:

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

第8题:

类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

第9题:

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