今天使用鏈表實現了一下多項式的算術加和乘操作,爲了節省存儲空間同時增加運算效率,鏈表中只存儲了係數非零的項。同時還定義了默認構造,複製構造,賦值運算,operator<<運算等操作。
其中Polynomial.h的代碼如下:
有幾點收穫總結如下:
1、即使定義了iostream頭文件,在使用cout,ostream等結構時還是要加上std:: !!!
2、賦值運算必須返回*this,不能返回一個自定義的Polynomial對象;
3、.h文件中最好不要定義函數,因爲一旦定義了某個函數,若此頭文件被兩個.cpp文件包含,就會出現Link error,提示函數重定義!
4、即使將某函數聲明爲友元,typed定義的類型在函數內依然不可見,如在operator<<中就不能直接使用iterator。
5、臨時變量總是不安全的,它在語句結束時就被析構。若臨時對象中包含指針,那麼就容易出現未定義的值。