唐吉诃德

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  5 Posts :: 75 Stories :: 3 Comments :: 0 Trackbacks

常用链接

留言簿(2)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

class String
{
public:
 String(
const char *str = NULL);//普通构造函数
 String(
const String &other);//拷贝构造函数
 
~String(void);//普通析构函数
 String 
&operator = (const String &other);//赋值函数
protected:
private:
 
char *m_data;
}
;
String::
~String(void)
{
    delete []m_data;
}

String::String(
const char *str /* = NULL */)
{
 
if(str == NULL)
 
{
  m_data 
= new char[1];
  
*m_data = '\0';
 }

 
else
 
{
  
int len = strlen(str);
  m_data 
= new char[len+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 
&String::operator=(const String &other)
{
 
if(this == &other)
 
{
  
return *this;
 }

 delete []m_data;
 
int length = strlen(other.m_data);
 m_data 
= new char[length+1];
 strcpy(m_data,other.m_data);
 
return *this;
}

int main(int argc, char* argv[])
{
 String str(
"Hello");
 String str1 
= str;
 String str2;
 str2 
= str;
 
return 0;
}
 
posted on 2010-10-08 21:37 心羽 阅读(877) 评论(0)  编辑 收藏 引用 所属分类: 编码

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理