题目:给出CMyString的声明,请为该类型添加赋值运算符函数。
考察点:
1、是否把返回值的类型声明为该类型的实例,并在函数结束前返回实例自身的引用(*this):以便连续赋值操作。
2、是否把传入的参数的类型声明为常量引用。原因见代码注释。
3、是否释放实例自身已有的内存。
4、是否判断传入的参数和当前的实例(*this)是不是同一个实例。
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
class CMyString{
public:
CMyString (char* pData = NULL);
CMyString (const CMyString& str);
CMyString& operator= (const CMyString &str);
~CMyString (void);
void print();
private:
char* m_pData;
};
CMyString::CMyString(char* pData)
{
if(NULL == pData){
m_pData = NULL;
return