個人意見:
在刪除通訊錄的功能中,我們需要提示用戶輸入需要刪除的person的名字(要用戶說出號碼比較不友好吧),這樣在尋找過程中比對兩個person相等就會出錯(因為電話號碼未知),導致找不到這個person。這是因為在Person.cpp中重載的==運算符對比了號碼和名字,為了簡便操作應該把對比號碼的步驟刪掉吧(當然不考慮通訊錄里同名的情況,誰的通訊錄里會有重名的呢?!)。
在刪除通訊錄的功能中,我們需要提示用戶輸入需要刪除的person的名字(要用戶說出號碼比較不友好吧),這樣在尋找過程中比對兩個person相等就會出錯(因為電話號碼未知),導致找不到這個person。這是因為在Person.cpp中重載的==運算符對比了號碼和名字,為了簡便操作應該把對比號碼的步驟刪掉吧(當然不考慮通訊錄里同名的情況,誰的通訊錄里會有重名的呢?!)。
2017-03-22
老師用 if 判斷語句的目的是為了讓大家養成處理異常的習慣吧,但這樣處理是不對的:
(1)如果new成功,那么newNode == 0 永不成立,自然不會return false
(2)如果new失敗,那么直接拋出異常,new語句下的其他語句就不會再執行了。
應該這么寫:Node* newNode = new (std::nothrow)Node(),這樣設置就不會拋出異常了
(1)如果new成功,那么newNode == 0 永不成立,自然不會return false
(2)如果new失敗,那么直接拋出異常,new語句下的其他語句就不會再執行了。
應該這么寫:Node* newNode = new (std::nothrow)Node(),這樣設置就不會拋出異常了
2017-03-20
在寫ListDelete這個函數的時候將currentNodeBefore->next=currentNode->next;寫成currentNodeBefore->next=currentNode;然后運行程序的時候老出現訪問地址什么沖突的錯誤,經過查找原來鏈表都沒連接起來了。還要細心呀,不然浪費很多時間,都不知道問題出在哪
2017-03-15