龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C和C++语言学习总结(二)(6)

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
m_data = new char[1]; // 若能加NULL 判断则更好 *m_data = '; } else { int length = strlen(str); m_data = new char[length+1]; // 若能加NULL 判断则更好 strcpy(m_data, str); } } // 拷贝构

m_data = new char[1]; // 若能加NULL 判断则更好

*m_data = ';

}

else

{

int length = strlen(str);

m_data = new char[length+1]; // 若能加NULL 判断则更好

strcpy(m_data, str);

}

}

// 拷贝构造函数

String::String(const String &other)

{

int length = strlen(other.m_data);

m_data = new char[length+1]; // 若能加NULL 判断则更好

strcpy(m_data, other.m_data);

}

// 赋值函数

String & String::operate =(const String &other)

{

// (1) 检查自赋值

if(this == &other)

return *this;

// (2) 释放原有的内存资源

delete [] m_data;

// (3)分配新的内存资源,并复制内容

int length = strlen(other.m_data);

m_data = new char[length+1]; // 若能加NULL 判断则更好

strcpy(m_data, other.m_data);

// (4)返回本对象的引用

return *this;

}

  来源于网络,回归于网络.

  我的Email:happy.every.day@126.com QQ:48399956

  2008年11月21日

精彩图集

赞助商链接