已知類String 的原型為
class String
{
? public:
? String(const char *str = NULL); // 普通構造函數
? String(const String &other); // 拷貝構造函數
? ~ String(void); // 析構函數
? String & operate =(const String &other); // 賦值函數
? private:
? char *m_data; // 用於保存字符串
};
請編寫String 的上述
標准答案
// String 的析構函數
String::~String(void) //
{
? delete [] m_data;
? // 由於m_data 是內部數據類型
}
// String 的普通構造函數
String::String(const char *str) //
{
? if(str==NULL)
? {
? m_data = new char[
? *m_data =
? }
? else
? {
? int length = strlen(str);
? m_data = new char[length+
? strcpy(m_data
}
}
// 拷貝構造函數
String::String(const String &other) //
{
? int length = strlen(other
? m_data = new char[length+
? strcpy(m_data
}
// 賦值函數
String & String::operate =(const String &other) //
{
? // (
? if(this == &other)
? return *this;
? // (
? delete [] m_data;
? // (
? int length = strlen(other
? m_data = new char[length+
? strcpy(m_data
? // (
? return *this;
}
From:http://tw.wingwit.com/Article/program/c/201404/30455.html