单选题若MyClass是一个类名,且有如下语句序列MyClass cl,*c2;MyClass *c3=new MyClass;MyClass &c4=cl;上面的语句序列所定义的类对象的个数是(  )。A 1B 2C 3D 4

题目
单选题
若MyClass是一个类名,且有如下语句序列MyClass cl,*c2;MyClass *c3=new MyClass;MyClass &c4=cl;上面的语句序列所定义的类对象的个数是(  )。
A

1

B

2

C

3

D

4


相似考题
更多“单选题若MyClass是一个类名,且有如下语句序列MyClass cl,*c2;MyClass *c3=new MyClass;MyClass c4=cl;上面的语句序列所定义的类对象的个数是(  )。A 1B 2C 3D 4”相关问题
  • 第1题:

    ( 12 )若 MyClass 是一个类名,且有如下语句序列

    MyClass c1,*c2;

    MyClass *c3=new MyClass;

    MyClass &c4=c1;

    上面的语句序列所定义的类对象的个数是

    A ) 1

    B ) 2

    C ) 3

    D ) 4


    正确答案:B

  • 第2题:

    类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正确。

  • 第3题:

    若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这种定义方式也是不对的。

  • 第4题:

    假定MyClass为一个类,则该类的拷贝构造函数的声明语句为

    A.MyClass&(MyClassx);

    B.MyClass(MyClassx);

    C.MyClass(MyClass &x);

    D.MvClass(MyClass *x);


    正确答案:C
    解析:本题考核拷贝构造函数的概念。声明拷贝构造函数的格式为:类名>::拷贝构造函数>(const类名>&引用名>);,其中const是修饰符可以省略。

  • 第5题:

    假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )

    A.MyClass&(MyClass x);

    B.MyClass(MyClass x)

    C.MyClass(MyClass &x);

    D.MyClass(MyClass *x)


    正确答案:C
    解析:拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它的一般格式是:类名::类名(const类名&引用对象名)。

  • 第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 my0bj(12,'m');

    D.MyClass myObj(12);


    正确答案:B
    解析:初始化应该和构造函数相同。

  • 第7题:

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

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

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

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

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


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

  • 第8题:

    已知类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同样做的不是初始化的事情。

  • 第9题:

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

    A.A

    B.B

    C.C

    D.D


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

  • 第10题:

    类MyClass的定义如下: class MyClass { public: MyClass(){} MyClass(int i) { value=new int(i); } int *value; }; 若要对类中的value赋值,则下面的语句中,正确的是( )。

    A.MyClass my;my.value=10;

    B.MyClass my;*my,value=10;

    C.MyClass my;my.*value=10;

    D.MyClass my(10);


    正确答案:D

  • 第11题:

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

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

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

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

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


    正确答案:D

  • 第12题:

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

    MyClass p=MyClass;

    B

    MyClass p=new MyClass;

    C

    MyClass& p=new MyClass;

    D

    MyClass a,&p=a;


    正确答案: B
    解析:
    A项错误,不能直接使用类给对象赋值;B项错误,p是类的对象,不能用对象的指针给其赋值;C项错误,p是引用变量,不能使用对象的指针进行赋值;D项正确,定义了MyClass类的一个对象a和引用变量p,并且声明p初始化为对a的引用。

  • 第13题:

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

    A ) MyClass p=MyClass;

    B ) MyClass p=new MyClass;

    C ) MyClass &p=new MyClass;

    D) MyClass a , &p=a;


    正确答案:D

  • 第14题:

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

  • 第15题:

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

  • 第16题:

    假定MyClass 为一个类,则该类的拷贝构造函数的声明语句为 ( )。

    A.MyClass& (MyClass x);

    B.MyClass (MyClass x);

    C.MyClass(MyClass &x);

    D.MyClass (MyClass *x);


    正确答案:C
    解析:声明拷贝构造函数的格式为:类名>::拷贝构造函数>(const类名>&引用名>);其中const是修饰符可以省略。

  • 第17题:

    类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

  • 第18题:

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

  • 第19题:

    已知类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)。

  • 第20题:

    若MyClass是一个类名,其有如下语句序列: MyClassc1,*c2; MyClass*c3=newMyClass; MyClass&

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

    A.1

    B.2

    C.3

    D.4


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

  • 第21题:

    假定MyClass 为一个类,则该类的拷贝构造函数的声明语句为( )。

    A.MyClass& (MyClass x);

    B.MyClass (MyClass.x);

    C.MyClass (MyClass &x);

    D.MyClass (MyClass *x);


    正确答案:C

  • 第22题:

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

    A.MyClassp=MyClass;

    B.MyClassp=newMyClass;

    C.MyClass&p=newMyClass

    D.MyClassa,&p=a;


    正确答案:D
    D。【解析】选项A错误,不存在这样的定义方式;选项B定义了一个MyClass类的对象P;选项C是Java的定义方式。

  • 第23题:

    MyClass类的默认构造方法是哪一个?()

    • A、new MyClass()
    • B、MyClass(){}
    • C、MyClass{}
    • D、public class MyClass

    正确答案:B