单选题假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为(  )。A MyClass&(MyClass x);B MyClass(MyClass x);C MyClass(MyClass&x);D MyClass(MyClass*x);

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

MyClass&(MyClass x);

B

MyClass(MyClass x);

C

MyClass(MyClass&x);

D

MyClass(MyClass*x);


相似考题
更多“单选题假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为(  )。A MyClass(MyClass x);B MyClass(MyClass x);C MyClass(MyClassx);D MyClass(MyClass*x);”相关问题
  • 第1题:

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

    A.MyClass&(MyClassx);

    B.MyClass(MyClassx);

    C.MyClass(MyClass &x);

    D.MvClass(MyClass *x);


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

  • 第2题:

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

    A.MyClass& (MyClass x);

    B.MyClass (MyClass x);

    C.MyClass(MyClass &x);

    D.MyClass (MyClass *x);


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

  • 第3题:

    假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。

    A.void~MyClass();

    B.~MyClass(int n)

    C.MyClass();

    D.~MyClass();


    正确答案:D
    解析: C++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键宇。所以正确的形式应该是~MyClass()。

  • 第4题:

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

    A.MyClass&(MyClass x);

    B.MyClass(MyClass x)

    C.MyClass(MyClass &x);

    D.MyClass(MyClass *x)


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

  • 第5题:

    假定MyClass为一个类,则执行myClass a,b(2),*p;语句时,自动调用该类构造函数( )次。

    A.2

    B.3

    C.4

    D.5


    正确答案:A

  • 第6题:

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

  • 第7题:

    假定MyCIass为一个类,那么下列的函数说明中,( )为该类的析构函数。

    A.void~MyClass();

    B.~MyClass(int n);

    C.MyClass();

    D.~MyClass();


    正确答案:D
    解析: C抖语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是-MyClass()。

  • 第8题:

    下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。

    class Myclass {

    public:

    Myclass(int num);

    ~ Myclass( );

    public:

    int *p;

    };

    Myclass: :Myclass( int hum) {

    【 】

    Myclass:: ~ Myelass( ) {

    【 】;

    }。


    正确答案:P=new int(a)、delete P
    P=new int(a)、delete P 解析:new和delete的用法。

  • 第9题:

    假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。 A.void~MyClass( );

    假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。

    A.void~MyClass( );

    B.~MyC

    C.ass(intn);

    D.MyClass( );

    E.~MyClass( );


    正确答案:D
    D。【解析】C++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass。

  • 第10题:

    假定MyClass为一个类,则执行MyClass a[3],*p[2];语句时, 自动调用该类构造函数( )次。

    A.2

    B.3

    C.4

    D.5


    正确答案:B

  • 第11题:

    有以下程序includeusing namespace std;class MyClass{public:MyClass(int n){number

    有以下程序 #include<iostream> using namespace std; class MyClass { public: MyClass(int n){number =n; } //拷贝构造函数 MyClass(MyClass& other) {number=other.number;} ~MyClass() {} private: int number; }; MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass Obj1(10),obj2(0); MyClass obj3(obj1); obj2=fun(obj3); return 0; } 程序执行时,MyClass类的拷贝构造函数被调用的次数是

    A.5

    B.4

    C.3

    D.2


    正确答案:B
    解析:本题考核C++的拷贝构造函数。调用拷贝构造函数的情况为:一个新对象被另一个已存在的同类型对象初始化;当一个对象作为实参传递给函数时为初始化形参,要调用拷贝构造函数。在函数值返回时形参的生命期结束时它的析构函数被调用;在函数返回一个对象时调用拷贝构造函数。符合以上条件的有:用对象obj1来初始化obj3;obj3作为实参被传入;函数fun返回一个对象时;系统用返回值初始化一个匿名对象时调用了拷贝构造函数。总共调用4次。

  • 第12题:

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

    MyClass (MyClass x);

    B

    MyClass (MyClass&x);

    C

    MyClass(&x);

    D

    MyClass(x);


    正确答案: B
    解析:
    拷贝构造函数也是构造函数,采用对象的引用的形式,即&。因此拷贝构造函数的声明语句为“MyClass (MyClass&x);”。

  • 第13题:

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

    A.

    B.

    C.

    D.


    正确答案:B

  • 第14题:

    假定Myclass为一个类,则执行Myclass a[4],*p[2];语句时,自动调用该类的构造函数 ( )次。

    A.2

    B.3

    C.4

    D.6


    正确答案:C
    解析:构造函数系统可以自动调用。数组对象a[4]调用4次构造函数,*p[2]存放Myclass的指针数组,没有生成对象。

  • 第15题:

    下列是重载乘法运算的函数原型声明,其中错误的是

    A.MyClass operator*(double,double);

    B.MyClass operator*(double,MyClass);

    C.MyClass operator*(MyClass,double);

    D.MyClass operator*(MyClass,MyClass);


    正确答案:A

  • 第16题:

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

    A.MyClass(MyClass x);

    B.MyClass(MyClass&x);

    C.MyClass(&x);

    D.MvClass(x);


    正确答案:B
    解析:拷贝构造函数也是构造函数,所以函数名字为MyClass,但它只有一个参数,这个参数是本类的对象,即x;而且采用对象的引用的形式,也就是&x。所以本题答案是B)

  • 第17题:

    类的说明如下,请指出错误的地方 ______。 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

  • 第18题:

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


    正确答案:C

  • 第19题:

    有以下程序include using namespace std;class MyClass{public:MyClass(int n) { num

    有以下程序#include <iostream>using namespace std;class MyClass{public: MyClass(int n) { number=n; } //拷贝的构造函数 MyClass(MyClass& other) {number=other. number; } ~MyClass() { }private: int number;};MyClass fun(MyClass p){ MyClass temp(p); return temp;}int main() MyClass obj 1 (10), obj 2(0); MyClass obi 3 (obj 1); obj2=fun(obj3); return 0;}程序执行时,MyClass 类的拷贝构造函数被调用的次数是( )。

    A.5

    B.4

    C.3

    D.2


    正确答案:B

  • 第20题:

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

    A.MyClass& (MyClass x);

    B.MyClass (MyClass.x);

    C.MyClass (MyClass &x);

    D.MyClass (MyClass *x);


    正确答案:C

  • 第21题:

    假定MyClass为—类,执行MyClass a[3],*p[2];语句时会自动调用该类构造函数( )次。

    A.2

    B.3

    C.4

    D.5


    正确答案:B

  • 第22题:

    假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。

    A.void~MyClass( );

    B.~MyC

    C.ass(intn);

    D.MyClass( );

    E.~MyClass( );


    正确答案:E
    E。【解析】C++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass。

  • 第23题:

    单选题
    假定MyClass为一个类,那么下列的函数说明中,(  )为该类的析构函数。
    A

    void ~MyClass();

    B

    ~MyClass(int n);

    C

    MyClass();

    D

    ~MyClass();


    正确答案: B
    解析:
    C++语言中析构函数格式为:符号“~”加类名,且没有返回值和参数。