標籤:int 大項目 ++ 完成 實現 死迴圈 double 大致 過程
在上學期c++的課程中,老師留了三個大項目和一些小作業,這些項目對於我來說都是很有意義的,
在完成作業的過程中不斷的提升編程能力是一件令人高興的事情,每一次的作業其實都有很多的小問題,
要麼在編譯出現問題,要麼在程式運行之後直接出現死迴圈,或者由於指標問題程式整個卡掉,此時便需要在
程式的每一個可能出錯的步驟前後測試輸出看程式到底錯在了哪,所以說學會如何測試還是非常重要的,往往有可能事半功倍。
意義尤為深刻的是在完成一個關於c++中json實體類的實現的過程中,遇到了類的相互調用的難題,花費了一定的時間。
(Json實體類Object和值類Value,數組類Array,類的大致變數定義聲明是Array : vector<Value>; Value:int ,double,Array ; Object:Map<string ,value> )
作業一開始自己是將三個類在一個.cpp檔案中實現,發現將類的各種函式宣告寫好之後出現了問題(因為類裡相互調用了所以
編譯錯誤是Value類未聲明之類),嘗試在網上搜尋解決方案,然後又結合c++類的理解,所以找到解決方案,在程式的最
開始即類的實現之前加入三個簡單的聲明 class Array, class Object, class Value,程式最終編譯通過。
而後來由於程式正常化的需要,我將三個類分別拆開寫了,所以對於每個類都定義了.cpp和.h檔案,在這些檔案中類的相互調用
又成為了一個很棘手的問題,按照之前合寫在一個cpp上的經驗,我先在每個類的.h檔案中加入了除去本身類的其他需要調用的類
的聲明,然後按照一直以來的經驗,例如在Array.cpp中加入了include "Array.h"的標頭檔,發現編譯不通過,最後在Array.cpp中
增加需要調用的類的.h檔案中,最終編譯通過。
軟體測試作業1 -- 關於c++項目中類相互調用的問題與解決