前段时间忙于项目,难得偷得几日闲,为即将到来的就业季做准备。在面试时,应聘者要注意多和考官交流,只有具备良好的沟通能力,才能充分了解面试官的需求,从而有针对性地选择算法解决问题。
题目来源于《剑指Offer》,自己在原有基础上稍作批注和修改。
问题:为类型添加赋值运算符函数,可以把CMyString实例赋值给另一个实例、自身和连续赋值。
学习点:考虑问题充分,自己不会把赋值情况、内存泄漏考虑到这么细致。
#include<cstring> #include<cstdio> class CMyString { public: CMyString(char * pData = nullptr); CMyString(const CMyString& str); ~CMyString(void); CMyString& operator=(const CMyString& str); void Print(); private: char* m_pData; //类比C风格字符串 }; CMyString::CMyString(char * pData) { if (pData==nullptr) //空指针 { //创建空字符串 m_pData = new char[1]; m_pData[0] = '