已知类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 的上述 4 个函数。
完美解://构造函数
Sting::String(const char *str = NULL){
if(NULL == str)
{
m_data = new char[1];
m_data = '\0';
}else
{
int length = strlen(str);
m_data = new char[length+1];
strcpy(m_data,str);}
}
//拷贝构造函数
String::String(const String &other)
{ int length =strlen(other.m_data);
m_data =new char[length+1];
strcpy(m_data,other.m_data);
}
//赋值函数
String & operate =(const String &other)
{ if(this == other)
{return *this;}
else{
detele[]m_data;
int length = strlen(other.m_data);
m_data = new char[length+1];
strcpy(m_data,other.m_data);
return *this;}
}
//析构函数
~ String(void)
{detele[]m_data;}
string类基本操作(转自effective c++)
最新推荐文章于 2022-07-02 22:39:15 发布