<分区>
#include <iostream>
#include <string>
using namespace std;
class String
{
private:
int len;
char *str;
public:
String() {}
String(const char *string):len(strlen(string))
{
str = new char[len + 1];
strcpy(str, string);
}
String& operator=(const String& st)
{
len = st.len;
str = new char[len];
strcpy(str, st.str);
return *this;
}
String operator+(const String& obj)
{
char *temp = new char[len + obj.len + 1];
strcpy(temp, str);
strcat(temp, obj.str);
String copy(temp);
delete[]temp;
return copy;
}
~String()
{
delete[] str;
}
};
void main()
{
String str1 = "Hel";
String str2 = "low";
String str3 = str1 + str2;
}
我正在尝试使用析构函数删除 String 类中的指针。
但是我看到了 Block Type Is Valid 的消息。
你能告诉我为什么吗?
而且,我很抱歉对齐不正确,这是我第一次在 stackoverflow 中提问