itgle.com

有以下类定义。 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

题目

有以下类定义。 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);


相似考题
更多“有以下类定义。class MyClass{private: int id; char gender; char *phone;public: MyClass():id( ”相关问题
  • 第1题:

    有以下类定义: 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型,两者不一致造成错误。

  • 第2题:

    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时,没有参数,所以其调用了第一个构造函数。

  • 第3题:

    有下列类定义,类对象定义语句中错误的是 。 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;

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

    有以下类定义 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型,两者不一致造成错误。