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 } ;
        
}
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容