三大函數(shù)的定義:
拷貝構(gòu)造:一個(gè)構(gòu)造函數(shù)傳入的第一個(gè)參數(shù)是自身類型的引用滓走,而且外參數(shù)都有默認(rèn)值垦江。
拷貝賦值:它是對(duì)賦值運(yùn)算符(=)的重載函數(shù)。
析構(gòu)函數(shù):析構(gòu)函數(shù)與構(gòu)造函數(shù)相反搅方,釋放對(duì)象使用的資源比吭。
- 例子:
class String
{
public:
String { const char* cstr = 0 } ;
String { const String& str } ; //接受的為自己绽族,是一種拷貝構(gòu)造函數(shù)
String& operator = ( const String& str); // 賦值的也是自己,是一種拷貝賦值函數(shù)
~String() ; // 析構(gòu)函數(shù)
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 } ;
}
}