64,654
社区成员
发帖
与我相关
我的任务
分享
赋值函数
String& String::operate=(const String &assign)
{
if(this==&assign)
return *this;
char *p=new char[strlen(assign.m_data)+1];
strcpy(p,assign.m_data);
delete m_data;
m_data=p;
return *this; //这里返回的是*this的引用吗?
}
相加函数
String oparate+(const String &lh, const String &rh)
{
String temp;
temp.m_data=new char[strlen(lh.m_data)+strlen(rh.m_data)+1];
strcpy(temp.m_data,lh.m_data);
strcat(temp.m_data,rh.m_data);
return temp; // 这个函数如果改为返回引用的话,这里就应该返回一个指向局部对象temp的引用(即地址),可行吗?