軟體測試作業1 -- 關於c++項目中類相互調用的問題與解決

來源:互聯網
上載者:User

標籤: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++項目中類相互調用的問題與解決

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.