已知类MyClass的定义如下: ClassMyClass{ public: MyClass(intd){data=d;} ~MyClass(){} priva

题目

已知类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];

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

第1题:

下列类的定义中有几处错误()。 class myclass{ int i=0; public: myclass();~myclass(value);}

A.1

B.2

C.3

D.4


X a4(10); Y b2=a4;

第2题:

37、已知类MyClass 声明如下: class MyClass { int n; public: MyClass(int k) : n(k) {} int getValue()const { return n; } }; 在下列数组定义中正确的是 ()

A.MyClass x[2];

B.MyClass x[2]={new MyClass(1), new MyClass(2)};

C.MyClass *x[2];

D.MyClass *x[2]={MyClass(1), MyClass(2)};


MyClass *x3[2];

第3题:

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

A.A

B.B

C.C

D.D


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

第4题:

已知类MyClass声明如下:

class MyClass{

int n;

public:

MyClass(int k):n(k){}

int getValue()const{return n;}

};

在下列数组定义中正确的是

A.MyClass xl[2];

B.MyClass x2[2]={new MyClass(1),new MyClass(2)};

C.MyClass * x3[2];

D.MyClass * x412]={MyClass(1),MyClass(2)};


正确答案:C
解析:MyClass类中只定义了一个构造函数,即Myclass(int k):n(k){},这个构造函数只有一个形参,因此A)选项错误;类中并没有提供有“MyClass*”类型转化为“MyClass”类型的功能,因此B)选项错误;同理,类中也没有提供“MyClass”类型转化为“My-Class*”类型的功能,D)选项错误。C选项是定义了一个指向MyClass类型的指针数组,故本题选c)。

第5题:

类的说明如下,请指出错误的地方 ______。 class Myclass { int a=111; public: Myclass(int x, int y); Myclass(int val); ~Myclass(); }

A.int a=111;

B.Myclass(Int x, int y);

C.Myclass(int val);

D.~Myclass();


正确答案:A

第6题:

有如下的类模板定义: templateclassMyClass{TYPE n; public:MyClass(TYPE k);… };

有如下的类模板定义:

template<typenameTYPE>

classMyClass{

TYPE n;

public:

MyClass(TYPE k);

};

其中构造函数MyClass用的值初始化数据成员n。因此在模板类体外,构造函数MyClass应定义______。


正确答案:templatetypename TYPE> TyClassTYPE>::MyClass(TYPE k):n(k){}
templatetypename TYPE> TyClassTYPE>::MyClass(TYPE k):n(k){}

第7题:

有如下的类的模板定义: template class MyClass { private:T number; public:MyClass(

有如下的类的模板定义:

template <class T>

class MyClass

{

private:

T number;

public:

MyClass(T k);

};

其中构造函数MyClass()用k的值初始化数据成员n。因此在模板类体外,构造函数

MyClass应定义为【 】。


正确答案:templateclassT>/MyClassT>::MyClass(T k):number(k){}
templateclassT>/MyClassT>::MyClass(T k):number(k){} 解析:类模板的成员函数的类体外的定义以“templateclass T>”开头。

第8题:

已知类MyClass的定义如下:

classMyClass{

public:

voidfunctionl(MyClass&c){out<<c.data;}

statievoidfunction2(MyClas&c){cout<<c.data;}

voidfunction3(){out<<data;}

statiCvoidfunction4(){COut<<data;}

private:

intdata;

}:

其中有编译错误的函数是( )。

A.function1

B.function2

C.function3

D.function4


正确答案:D
D。【解析】静态函数调用非静态变量错误。必须通过对象实例来访问非静态变量。

第9题:

( 29 )已知类 MyClass 声明如下:

class MyClass{

int n;

public;

MyClass ( int k ) : n ( k ) {}

int getValue () const{return n;}

};

在下列数组定义中正确的是

A ) MyClass x1[2];

B ) MyClass x2[2]={new MyClass ( 1 ) , new MyClass ( 2 ) };

C ) MyClass *x3[2];

D ) MyClass *x4[2]={MyClass ( 1 ) , MyClass ( 2 ) };


正确答案:C