下列情况中,不会调用拷贝构造函数的是( )。A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时

题目

下列情况中,不会调用拷贝构造函数的是( )。

A.用一个对象去初始化同一类的另一个新对象时

B.将类的一个对象赋值给该类的另一个对象时

C.函数的形参是类的对象,调用函数进行形参和实参结合时

D.函数的返回值是类的对象,函数执行返回调用时


相似考题
参考答案和解析
正确答案:B
更多“下列情况中,不会调用拷贝构造函数的是( )。 A.用一个对象去初始化同一类的另一个新对象时 B.将类 ”相关问题
  • 第1题:

    对于拷贝初始化构造函数和赋值操作的关系,正确的描述是( )。

    A.拷贝初始化构造函数和赋值操作是完全一样的操作

    B.进行赋值操作时,会调用类的构造函数

    C.当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化

    D.拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义


    正确答案:C

  • 第2题:

    下列关于派生类构造函数和析构函数的说法中,错误的是

    A.派生类的构造函数会隐含调用基类的构造函数

    B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数

    C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

    D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数


    正确答案:D
    解析:本题考查的知识点是;派生类的构造函数和析构函数。在销毁派生类对象时,析构函数的执行;过程与构造函数严格相反,即;(1)对派生类新增普通成员进行清理; (2)调用成员对象析构函数,对派生类新增的成员对象进行清理;(3)调用基类析构函数,对基类进行清理。故本题应该选择D。

  • 第3题:

    对于复制构造函数和赋值操作的关系,正确的是( )。

    A.复制构造函数和赋值操作是完全一样的操作

    B.进行赋值操作时,会调用类的构造函数

    C.当调用复制构造函数时,类的对象正在被建立并被初始化

    D.复制构造函数和赋值操作不能在同一个类中被同时定义


    正确答案:C
    C。【解析】在赋值操作中,将发生对象的复制操作,但并不说明两者是完全一样的。一般情况下,如果给类定义了赋值操作符,则应该同时定义合适的复制构造函数,除非系统默认生成的复制构造函数满足赋值操作。实际上,系统默认的复制构造函数仅仅将数据成员进行简单的对应赋值,而在多数特殊应用中,需要程序员重新定义复制构造函数。

  • 第4题:

    下列关于派生类的构造函数的叙述中,正确的是( )。

    A.派生类通过成员初设列表的方法调用基本类的构造函数,实现对基本类的初始化

    B.派生类构造函数的调用顺序先基类后子对象构造函数

    C.派生类构造函数的调用顺序先子对象构造函数后基类

    D.派生类构造函数是不能继承基类的


    正确答案:C

  • 第5题:

    下列关于派生类的构造函数的说法中,哪个是错误的 ______。

    A.派生类不继承基类的构造函数和赋值运算

    B.派生类的构造函数可以调用基类的构造函数

    C.派生类的构造函数先于基类的构造函数执行

    D.在建立派生类的实例对象时,必须调用基类的构造函数来初始化派生类对象中的基类成员


    正确答案:C

  • 第6题:

    下列选项中,______发生时,将调用构造函数。

    A.调用对象方法

    B.创建对象

    C.类定义

    D.使用对象的变量


    正确答案:B

  • 第7题:

    下列有关拷贝构造函数的描述中错误的是( )。

    A.拷贝构造函数是一种构造函数

    B.拷贝构造函数与一般的构造函数一样,可以设置多个形参

    C.每一个类中都必须有一个拷贝构造函数

    D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象


    正确答案:B
    B。【解析】拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它不能指定函数返回类型;只有一个参数,是同类的某个对象名的引用。每一个类中都必须有一个拷贝构造函数,如果类中未声明,编译器会自动生成一个公有的拷贝构造函数。

  • 第8题:

    拷贝(复制)构造函数的作用是 ______。

    A.进行数据类型的转换

    B.用对象调用成员函数

    C.用对象初始化对象

    D.用一般类型的数据初始化对象


    正确答案:C

  • 第9题:

    在下列说法中,()不会调用拷贝初始化构造函数。

    • A、当对象作为函数实参传递给函数形参时
    • B、明确表示由一个对象初始化另一个对象时
    • C、用赋值运算符”=”将一个对象赋给另一个同类对象时
    • D、当对象作为函数返回值时

    正确答案:C

  • 第10题:

    下列关于类的包含描述正确的是()

    • A、可以使用赋值语句对对象成员进行初始化
    • B、可以使用“参数初始式”调用成员类的构造函数初始化对象成员
    • C、被包含类可以访问包含类的成员
    • D、首先执行自身构造函数,再调用成员类的构造函数

    正确答案:B

  • 第11题:

    单选题
    下面哪一种情况不会自动调用拷贝构造函数。()
    A

    用一个对象初始化另一个对象时

    B

    当一个对象作为值传递给一个函数时

    C

    当一个对象作为值从一个函数返回之前,该对象被拷贝到栈区

    D

    函数调用结束后,栈区中的返回对象拷贝给主调程序的对象

    E

    建立指向对象的指针并初始化指针值时


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    在下列说法中,()不会调用拷贝初始化构造函数。
    A

    当对象作为函数实参传递给函数形参时

    B

    明确表示由一个对象初始化另一个对象时

    C

    用赋值运算符”=”将一个对象赋给另一个同类对象时

    D

    当对象作为函数返回值时


    正确答案: C
    解析: 暂无解析

  • 第13题:

    对于拷贝构造函数和赋值操作的关系,正确的是( )。

    A.拷贝构造函数和赋值操作是完全一样的操作

    B.进行赋值操作时,会调用类的构造函数

    C.当调用拷贝构造函数时,类的对象正在被建立并被初始化

    D.拷贝构造函数和赋值操作不能在同一个类中被同时定义


    正确答案:C
    解析: 在赋值操作中,将发生对象的拷贝操作,但并不说明两者是完全一样的。一般情况下,如果给类定义了赋值操作符,则应该同时定义合适的拷贝构造函数,除非系统默认生成的拷贝构造函数满足赋值操作。实际上,系统默认的拷贝构造函数仅仅将数据成员进行简单的对应赋值,而在多数特殊应用中,需要程序员重新定义拷贝构造函数。

  • 第14题:

    下列关于派生类的构造函数的叙述中,正确的是( )。

    A.派生类通过成员初设列表的方法调用基类的构造函数,实现对基类的初始化

    B.派生类构造函数的调用顺序先基类后子对象构造函数

    C.派生类构造函数的调用顺序先子对象构造函数后基类,

    D.派生类构造函数是不能继承基类的


    正确答案:C

  • 第15题:

    对于拷贝初始化构造函数,正确的描述是( )。

    A.在C++语言中,如果不自定义类的拷贝初始化构造函数,则每个类都有默认的拷贝初始化构造函数

    B.必须为每个类定义拷贝初始化构造函数

    C.如果要使用拷贝初始化构造函数,则必须在类中先定义

    D.当定义了类的构造函数时,如果要使用拷贝初始化构造函数,则必须定义拷贝初始化构造函数


    正确答案:A
    解析:拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它不能指定函数返回类型;只有一个参数,是同类的某个对象名的引用。每一个类中都必须有一个拷贝构造函数,如果类中未声明,编译器会自动生成一个公有的拷贝构造函数。

  • 第16题:

    下列关于对象初始化的叙述中,正确的是

    A.定义对象的时候不能对对象进行初始化

    B.定义对象之后可以显式地调用构造函数进行初始化

    C.定义对象时将自动调用构造函数进行初始化

    D.在一个类中必须显式地定义构造函数实现初始化


    正确答案:C
    解析:构造函数的作用是在对象被创建的时候对对象进行初始化。构造函数在对象被创建的时候由系统自动调用。故C项正确。

  • 第17题:

    关于拷贝初始化构造函数,描述不正确的是( )。

    A.拷贝初始化构造函数是类的成员函数,函数名与类名相同。

    B.函数只有一个参数,并且是对某个对象的引用

    C.每个类都必须有一个拷贝初始化构造函数。

    D.要定义拷贝初始化构造函数,必须指定返回类型


    正确答案:D
    解析:拷贝初始化构造函数也是一个构造函数,也没有返回类型。

  • 第18题:

    下列情况中,不会调用拷贝构造函数的是( )。 A.用一个对象去初始化同一类的另一个新对象时SXB

    下列情况中,不会调用拷贝构造函数的是( )。

    A.用一个对象去初始化同一类的另一个新对象时

    B.将类的一个对象赋值给该类的另一个对象时

    C.函数的形参是类的对象,调用函数进行形参和实参结合时

    D.函数的返回值是类的对象,函数执行返回调用时


    正确答案:B
    本题考查复制构造函数,在以下3种情况下使用:①程序中需要新建立一个对象,并用另一个对象对它初始化;②函数的参数为类的对象;③函数的返回值是类的对象。其中B选项是由赋值运算符重载实现的。

  • 第19题:

    1.  下列情况中,哪一种情况不会调用拷贝构造函数 (     

    A)用派生类的对象去初始化基类对象时

    B)将类的一个对象赋值给该类的另一个对象时

    C)函数的形参是类的对象,调用函数进行形参和实参结合时

    D)函数的返回值是类的对象,函数执行返回调用者时


    B

  • 第20题:

    拷贝构造函数是用一个已知的对象为新创建的同类的对象赋初值,下列( )情况下它没有起作用。

    A.声明语句中,用一个对象初始化另一个对象。如point p2(p1);,其中:point为一个类, p2、p1为该类的两个对象,p1是一个已知的对象

    B.将对象作为函数实参传递给形参,用来初始化形参时

    C.当函数返回一个对象值,并用这个对象初始化一个匿名对象时

    D.调用对象的一个成员函数时


    正确答案:D
    解析:调用对象的一个成员函数时不会调用拷贝构造函数。

  • 第21题:

    下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()

    • A、基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员
    • B、基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数
    • C、派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>基类构造函数
    • D、对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>基类构造函数

    正确答案:A

  • 第22题:

    多选题
    关于类的构造函数,以下描述中正确的是()
    A

    当创建一个对象时,该对象的构造函数会被自动调用;

    B

    当创建一个对象时,需要指明是否调用该对象的构造函数;

    C

    同一个类可以有几个构造函数,各构造函数的参数必须不同;

    D

    同一个类可以有几个构造函数,各构造函数的参数必须相同;

    E

    构造函数的名称与类的名称相同;


    正确答案: B,C
    解析: 暂无解析

  • 第23题:

    单选题
    下列情况中,不会调用拷贝构造函数的是(  )。
    A

    用一个对象去初始化同一类的另一个新对象时

    B

    将类的一个对象赋值给该类的另一个对象时

    C

    函数的形参是类的对象,调用函数进行形参和实参结合时

    D

    函数的返回值是类的对象,函数执行返回调用时


    正确答案: A
    解析:
    用一个已知的对象初始化一个正在创建的同类对象时,需要拷贝构造函数。B项,没有创建的动作,因此不会调用拷贝构造函数。

  • 第24题:

    单选题
    下列关于对象初始化的叙述中,正确的是(  )。
    A

    定义对象的时候不能对对象进行初始化

    B

    定义对象之后可以显式地调用构造函数进行初始化

    C

    定义对象时将自动调用构造函数进行初始化

    D

    在一个类中必须显式地定义构造函数实现初始化


    正确答案: A
    解析:
    定义对象时根据给定的参数调用相应的构造函数对对象进行初始化。无参数时表示调用缺省构造函数。构造函数在对象被创建时由系统自动调用。