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

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

  • 例子:
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 拷贝构造、拷贝复制、析构函数)