剑指offer第1题 赋值运算符重载
2013-05-10 16:49
267 查看
赋值运算符重载
//赋值运算符重载 #include <iostream> #include <cstring> #include <cstdlib> using namespace std; class CMyString { public: CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyString(void); CMyString& operator = (const CMyString& str); friend ostream& operator << (ostream & stream,const CMyString str) { return stream<<str.m_pData<<endl; } private: char* m_pData; }; CMyString::CMyString(char* pData) { m_pData = new char[strlen(pData)+1]; strcpy(m_pData,pData); } CMyString::CMyString(const CMyString& str) { m_pData = new char[strlen(str.m_pData)+1]; strcpy(m_pData,str.m_pData); } CMyString::~CMyString(void) { delete [] m_pData; m_pData = NULL; } CMyString& CMyString::operator = (const CMyString& str) { if(this != &str) { CMyString strtmp(str); char* ptmp = strtmp.m_pData; strtmp.m_pData = this->m_pData; this->m_pData = ptmp; } return *this; } int main() { CMyString str("helloworld"); CMyString str2(str); CMyString str3 = str; cout<<str<<str2<<str3; return 0; }
相关文章推荐
- 剑指offer题1_赋值运算符函数
- 剑指offer——面试题1:赋值运算符函数
- 【剑指offer】chapter2面试题1 赋值运算符
- 剑指offer--赋值运算符函数
- 剑指offer 赋值运算符
- 剑指offer面试题之赋值运算符函数
- 剑指offer 面试题1:赋值运算符
- 第1题 变态跳台阶【剑指Offer编程题】
- 剑指Offer_面试题01_赋值运算符函数
- 剑指offer 面试题1 赋值运算符函数
- 剑指Offer之赋值运算符函数解析
- 剑指offer——赋值运算符函数
- 【剑指offer】第一题:赋值运算符
- 剑指offer-算法题练习:part14 c++多线程—2个线程并发售票系统-烽火众智
- 【剑指offer】面试题23:链表中环的入口节点
- 剑指offer——面试题42-2:翻转单词顺序
- 剑指offer:判断树的子结构
- 剑指offer:顺时针打印矩阵(java)
- 剑指Offer:二叉树的镜像(一刷)
- 剑指offer 旋转数组的最小数字