From 0e0de383d2bab287559c909076af992996121fa2 Mon Sep 17 00:00:00 2001 From: "hu.fwh" Date: Wed, 14 Apr 2021 02:13:58 +0800 Subject: [PATCH] Fix issue #130 --- .../10_day_practice/day7/综合例题/重要.cpp | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/practical_exercises/10_day_practice/day7/综合例题/重要.cpp b/practical_exercises/10_day_practice/day7/综合例题/重要.cpp index 83545ee..74e2ff1 100644 --- a/practical_exercises/10_day_practice/day7/综合例题/重要.cpp +++ b/practical_exercises/10_day_practice/day7/综合例题/重要.cpp @@ -20,8 +20,11 @@ public: String(const char * = ""); const String &operator=(const String &R) { + char *temp = sPtr; length = R.length; - strcpy(R.sPtr, sPtr); + sPtr = new char[length + 1]; + strcpy(sPtr, R.sPtr); + delete [] temp; return *this; }; //重载赋值运算符 = const String &operator+=(const String &R); //字符串的连接 += @@ -85,7 +88,25 @@ int main() s1[0] = 'H'; s1[6] = 'N'; s1[10] = 'Y'; - cout << "s1 = " << s1 << "\n"; //L10 + cout << "s1 = " << s1 << "\n" << endl; //L10 + + String s4, s5("123"); + cout << "s4 = " << s4 << "\n"; //L11 + cout << "s5 = " << s5 << "\n"; //L12 + cout << "s4 = s5 结果是:" << endl; + s4 = s5; + cout << "s4 = " << s4 << "\n"; //L13 + cout << "s5 = " << s5 << "\n" << endl; //L14 + + s4 = ""; + s5 = "abc"; + cout << "s4 = " << s4 << "\n"; //L15 + cout << "s5 = " << s5 << "\n"; //L16 + cout << "s5 = s4 结果是:" << endl; + s5 = s4; + cout << "s4 = " << s4 << "\n"; //L17 + cout << "s5 = " << s5 << "\n"; //L18 + system("pause"); return 0; }