65,210
社区成员
发帖
与我相关
我的任务
分享
//copy constructor
String::String(const String &other)
{
this->m_data = (char *)malloc(sizeof(char) * strlen(other.m_data) + 1);
if( this->m_data == NULL)
{
exit(1);
}
strcpy(this->m_data, other.m_data);
}
//Assignment operator
String & operator=(const String &other)
{
if(this == &other) //self assignment
{
return *this;
}
delete this->m_data;
this->m_data = (char *)malloc(sizeof(char) * strlen(other_m_data) + 1);
if(this->m_data == NULL)
{
exit(1);
}
strcpy(this->m_data, other.m_data);
return *this;
}
Sample::Sample(string name):_name(name){} //只需进行一次初始化
Sample::Sample(string name){_name=name;} //_name要先进行初始化,然后进行赋值