第五节 · 换一种变脸的方式 · 类型转换运算符定义
class String
{
private:
char* data;
size_t length;
public:
String(const char* s = "")
{
length = strlen(s);
data = new char[length + 1];
strcpy(data, s);
}
~String()
{
delete[] data;
}
// 复制赋值运算符
String& operator=(const String& other)
{
if (this != &other) // 自赋值检查
{
delete[] data; // 释放旧资源
length = other.length;
data = new char[length + 1];
strcpy(data, other.data);
}
return *this;
}
};习题
Last updated