有以下类定义:class MyClass{private: int id; char gender; char *phone;public: MyClass():id(

题目

有以下类定义: class MyClass { private: int id; char gender; char *phone; public: MyClass():id(0),gender('#'),phone(NULL){} MyClass(int no,char ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph; } };下列类对象定义语句中错误的是______。

A.MyClass myObj;

B.MyClass myObj(11,"13301111155");

C.MyClass my0bj(12,'m');

D.MyClass myObj(12);

参考答案和解析
正确答案:B
解析:初始化应该和构造函数相同。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有下列类定义,类对象定义语句中错误的是 。 class MyClass {private: int id; char gender; char *phone; public: MyClass() : id(0), gender(‘#’), phone(NULL){ } MyClass(int no, char ge=’#’, char *ph=NULL) {id=no;gender=ge,phone=ph;} };

A.MyClass myobj;

B.MyClass myobj(11,"13301111155");

C.MyClass myobj(12,'m');

D.MyClass myobj(12);


list x;

第2题:

有以下类定义 class MyClass { private: int id; char gender; char*phone; public: MyClass():id(0),gender('#'),phone(NULL){} MyClass(int no,char ge='#',char*ph=NULL) {id=no;gender=ge;phone=ph;} }; 下列类对象定义语句中错误的是

A.MyClassmyObj;

B.MyClassmyObj(11,"13301111155");

C.MyClassmyObj(12,'m');

D.MyClassmyObj(12);


正确答案:B
解析:本题考核构造函数的应用。对象建立用初始化列表对数据成员进行时,列表中的参数类型要与构造函数中形参类型一致。B选项中第二个参数为“13301111155”是字符串,而构造函数中第二个形参为char型,两者不一致造成错误。

第3题:

TestClass类定义如下: class TestClass { private: intid; char gender; char*phone; public: TestClass ():id(0),gender('#'),phone(NULL){) TestClass(int no,char ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph;} }; 下面类对象定义语句中错误的是( )。

A.TestClass myObj(i);

B.TestClass myObj(2,"11101111155");

C.TestClass myObj(1,'m');

D.TestClass myObj;


正确答案:B
解析:B) 中由于有两个参数,所以其调用了第二个构造函数,第二个构造函数的两个缺省参数,在调用时,实参会按从左到右的顺序传给形参,所以第二个参数“11101111155”会传递给形参ge,而原型中的ge为字符型,实参为指向字符的指针,所以在编译时会出现错误。A) 与C) 都能够正确的实现参数的传递。对于D) ,由于在创建TestClass的实例myObji时,没有参数,所以其调用了第一个构造函数。

第4题:

有以下类定义:

classMyClass

{

private:

intid;

chargender;

char*phone;

public:

MyClass():id(0),gender('#'),phone(NULl){}

MyClass(intn0,charge='#',char*ph=NULL)

{id=no;gender=ge;phone=ph;}

};

下列类对象定义语句中错误的是( )。

A.MyClassmyObj;

B.MyClassmyObj(11,"13301111155");

C.MyClassmyObj(12,'m');

D.MyClassmyObj(12);


正确答案:B
B。【解析】本题考查构造函数的应用。对象建立用初始化列表对数据成员进行时。列表中的参数类型要与构造函数中形参类型一致。B选项中第二个参数为13301111155,是字符串,而构造函数中第二个形参为char型,两者不一致造成错误。

第5题:

有以下类定义: classMyClass { private: intid; chargender; char*phone;

public: MyClass():id(0),gender(#),phone(NULl){} MyClass(intn0,charge=#,char*ph=NULL) {id=no;gender=ge;phone=ph;} }; 下列类对象定义语句中错误的是( )。

A.MyClassmyObj;

B.MyClassmyObj(11,"13301111155");

C.MyClassmyObj(12,m);

D.MyClassmyObj(12);


正确答案:B
B。【解析】本题考查构造函数的应用。对象建立用初始化列表对数据成员进行时。列表中的参数类型要与构造函数中形参类型一致。B选项中第二个参数为13301111155,是字符串,而构造函数中第二个形参为char型,两者不一致造成错误。

第6题:

有以下类定义。 class MyClass { private: int id; char gender; char *phone; public: MyClass():id(0),gender('#'),phone(NULL){} MyClass(int no,char ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph;) }; 下列类对象定义语句中错误的是( )。

A.MyClass myobj;

B.MyClass myobj(11,"13301111155");

C.MyClass myobj(12,'m');

D.MyClass myobj(12);


正确答案:B

第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题:

有以下类定义 class MyClass { private: int id; Char gender; Char*phone; public: MyClass():id(0),gender(‘#’),phone(NULL){} MyClass(int no,charge=’#’,char*ph=NULL) {id=no;gender=ge;phone=ph;} ); 下列类对象定义语句中错误的是( )。

A.MyClass myObj;

B.MyClass myObj(11,”13301111155”);

C.MyClassmyObj(12,’m’);

D.MyClassmyObj(12);


正确答案:B
解析: 本题考查构造函数的应用。对象建立用初始化列表对数据成员进行时,列表中的参数类型要与构造函数中形参类型一致。B选项中第二个参数为”13301111155”是字符串,而构造函数中第二个形参为char型,两者不一致造成错误。

第9题:

有以下类定义 class MyClass { private: int id; char gender; char*phone; public: MyClass():id(0),gender('#'),phone(NULL){} MyClass(int no,char ge='#',char*ph=NULL) {id=no;gender=ge;phone=ph;} }; 下列类对象定义语句中错误的是

A.MyClass myObj;

B.MyClass myObj(11,"13301111155");

C.MyClass myObj(12,'m');

D.MyClass myObj(12);


正确答案:B
解析:本题考核构造函数的应用。对象建立用初始化列表对数据成员进行时,列表中的参数类型要与构造函数中形参类型一致。B选项中第二个参数为"13301111155"是字符串,而构造函数中第二个形参为char型,两者不一致造成错误。