/**
*题目:如下类型CMyString的声明,请为该类型添加赋值运算符函数,Java没有赋值运算符,我们用dengyu函数代替
*时间:2015年8月24日09:55:46
*文件:CMyString.java
*作者:cutter_point
*/
package bishi.Offer50.y2015.m08.d24;
public class CMyString
{
private char m_pData[];
public CMyString(char pData[])
{
m_pData = pData;
}
public CMyString(CMyString str)
{
m_pData = str.m_pData;
}
/*
//C++中赋值运算符
//CMyString& operator=(const CMyString &str);
CMyString& CMyString::operator=(const CMyString &str)
{
if(this == str)
return *this;
//回收空间
delete[] m_pData;
m_pData == nullptr;
//重新赋值
m_pData = new Char[strlen(str.m_pData) + 1];
strcpy(m_pData, str.m_pData);
return *this;
}
*/
public CMyString dengyu(CMyString str)
{
if(this == str)
return this; //自我赋值
this.m_pData = null;
m_pData = new char[str.m_pData.length];
for(int i = 0; i < m_pData.length; ++i)
{
m_pData[i] = str.m_pData[i];
}
return this;
}
public String toString()
{
StringBuilder result = new StringBuilder("字符串结果是:");
for(int i = 0; i < m_pData.length; ++i)
{
result.append(m_pData[i]);
}
return result.toString();
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
String s = "hello cutter_point";
String s2 = "hello world";
CMyString cms = new CMyString(s.toCharArray());
CMyString cms2 = new CMyString(s2.toCharArray());
System.out.println(cms.toString());
cms.dengyu(cms2);
System.out.println(cms.toString());
}
}
【笔试】19、该类型添加赋值运算符函数
最新推荐文章于 2023-08-29 14:53:40 发布