- 相關(guān)推薦
筆試題(String類定義)
已知String類定義如下:
class String
{
public:
String(const char *str = NULL); // 通用構(gòu)造函數(shù)
String(const String &another); // 拷貝構(gòu)造函數(shù)
~ String(); // 析構(gòu)函數(shù)
String & operater =(const String &rhs); // 賦值函數(shù)
private:
char *m_data; // 用于保存字符串
};
嘗試寫出類的成員函數(shù)實(shí)現(xiàn),
筆試題(String類定義)
。答案:
String::String(const char *str)
{
if ( str == NULL ) //strlen在參數(shù)為NULL時(shí)會(huì)拋異常才會(huì)有這步判斷
{
m_data = new char[1] ;
m_data[0] = '{content}' ;
}
else
{
m_data = new char[strlen(str) + 1];
strcpy(m_data,str);
}
}
String::String(const String &another)
{
m_data = new char[strlen(another.m_data) + 1];
strcpy(m_data,other.m_data);
}
String& String::operator =(const String &rhs)
{
if ( this == &rhs)
return *this ;
delete []m_data; //刪除原來的數(shù)據(jù),新開一塊內(nèi)存
m_data = new char[strlen(rhs.m_data) + 1];
strcpy(m_data,rhs.m_data);
return *this ;
}
String::~String()
{
delete []m_data ;
}
【筆試題String類定義】相關(guān)文章:
編寫類String 的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)09-14
360筆試題目06-27
筆美國(guó)國(guó)家儀器試題目09-23
英語(yǔ)類筆試題06-13
稅法類筆試題07-31
智力類筆試題08-14
運(yùn)算類筆試題05-29
乘法類筆試題08-14
技術(shù)類筆試題08-20
盛大非技術(shù)類筆經(jīng)05-01