关于const成员函数的使用。
我最近在看VC++2012经典入门这一书籍,在做练习时遇到一个问题需要请教大家。。是关于类的const成员函数。
这是类的定义:
class CSimpleString
{
private:
size_t len;
char* buff;
public:
CSimpleString(const char* p = nullptr);
CSimpleString(const CSimpleString& s);
CSimpleString(char c, int count=1);
CSimpleString(int i);
~CSimpleString();
CSimpleString& operator=(const CSimpleString& rhs);
CSimpleString& operator=(CSimpleString&& rhs); // Move assignment
CSimpleString& operator+=(const CSimpleString& rhs);
CSimpleString operator+(const CSimpleString& s);
CSimpleString operator+(const char* s);
void print();
};
CSimpleString CSimpleString::operator+(const CSimpleString& s)
{
cout << "Addition" << endl;
size_t length = len + s.len + 1;
char* tmp = new char[length];
strcpy_s(tmp, length, buff);
strcat_s(tmp, length, s.buff);
return CSimpleString(tmp);
}