zoukankan      html  css  js  c++  java
  • 拷贝构造函数

    什么是拷贝构造函数

    拷贝构造函数是一种特殊的构造函数,它的形式如下。

    struct Test
    {
        Test()
        {
    
        }
        Test(const Test& other) // 拷贝构造函数
        {
            cout << "Copy constructor" << endl ;
        }
    };

    什么情况下调用拷贝构造函数

    以下几种情况会调用拷贝构造函数。

    • 以一个对象初始化另一个对象
    • 函数以某个对象为参数
    • 函数返回某个对象
    • 初始化序列式容器的元素
    struct Test
    {
        Test()
        {
    
        }
        Test(const Test& other)
        {
            cout << "Copy constructor" << endl ;
        }
    };
    
    // 函数以类对象为参数,会调用Test的拷贝构造函数
    void TestFunc(Test test)
    {
    
    }
    
    // 函数返回类的对象,会调用拷贝构造函数
    Test TestFunc1()
    {
        Test t ;
        return t ;
    }
    
    int main ()
    {
        Test t ;
        TestFunc(t) ;
        TestFunc1() ;
        Test t1(t) ; // 以一个对象初始化另外一个对象,会调用拷贝构造函数
    
        // 初始化序列式容器会调用拷贝构造函数
        vector<Test> v(3) ; // 调用一次构造函数及三次拷贝构造函数
    
        system("pause") ;
        return 0;
    }

    ==

  • 相关阅读:
    Delphi Help
    RAD 10 新控件 TSearchBox TSplitView
    滚动条
    c++builder Active Form
    chart左侧
    RAD 10 蓝牙
    浏览器插件 火狐插件
    c++builder delphi 调用dll dll编写
    模拟键盘 键盘虚拟代码
    oracle怎么把一个用户下的表复制给另一个用户?(授予表权限)
  • 原文地址:https://www.cnblogs.com/graphics/p/1771695.html
Copyright © 2011-2022 走看看