美文网首页
Boolan-2-1 拷贝构造、拷贝复制、析构函数

Boolan-2-1 拷贝构造、拷贝复制、析构函数

作者: FAN_Z | 来源:发表于2017-07-27 22:38 被阅读0次

    三大函数的定义:
    拷贝构造:一个构造函数传入的第一个参数是自身类型的引用,而且外参数都有默认值。
    拷贝赋值:它是对赋值运算符(=)的重载函数。
    析构函数:析构函数与构造函数相反,释放对象使用的资源。

    • 例子:
    class String
    {
    public:
        String { const char* cstr = 0 } ;
        String { const String& str } ;   //接受的为自己,是一种拷贝构造函数
        String& operator = ( const String& str); // 赋值的也是自己,是一种拷贝赋值函数
        ~String() ; // 析构函数
        char* get_c_str() const { return m_data ; }
    private:
        char* m_data ;
    
    } ;
    
    inline
    String : : String ( const char*  cstr = 0 )
    {
        if ( cstr ) {
            m_data = new char [strlen ( cstr ) +1 ] ;
            strcpy { m_data, cstr } ;
            
    }
    }
    

    相关文章

      网友评论

          本文标题:Boolan-2-1 拷贝构造、拷贝复制、析构函数

          本文链接:https://www.haomeiwen.com/subject/muynkxtx.html