天天看點

重載指派運算符

StringBad class2("abc");

StringBad class1 = class2;

出現語句2指派過程有兩種:

1.調用拷貝構造函數。

2.建立臨時對象,通過指派,将臨時對象的值賦給新對象。

情況2:需要編寫指派運算符

StringBad & StringBad::operator=(const StringBad & st)

{

if(this == &st)

return *this;

delete[] str;

len = st.len;

str = newchar[len+1];

strcpy(str,st.str);

return *this;

}