三大函数的定义:
拷贝构造:一个构造函数传入的第一个参数是自身类型的引用,而且外参数都有默认值。
拷贝赋值:它是对赋值运算符(=)的重载函数。
析构函数:析构函数与构造函数相反,释放对象使用的资源。
- 例子:
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 } ;
}
}
网友评论