软件测试作业1 -- 关于c++项目中类相互调用的问题与解决
? ? ? ?在上學(xué)期c++的課程中,老師留了三個(gè)大項(xiàng)目和一些小作業(yè),這些項(xiàng)目對于我來說都是很有意義的,
在完成作業(yè)的過程中不斷的提升編程能力是一件令人高興的事情,每一次的作業(yè)其實(shí)都有很多的小問題,
要么在編譯出現(xiàn)問題,要么在程序運(yùn)行之后直接出現(xiàn)死循環(huán),或者由于指針問題程序整個(gè)卡掉,此時(shí)便需要在
程序的每一個(gè)可能出錯(cuò)的步驟前后測試輸出看程序到底錯(cuò)在了哪,所以說學(xué)會如何測試還是非常重要的,往往有可能事半功倍。
意義尤為深刻的是在完成一個(gè)關(guān)于c++中json實(shí)體類的實(shí)現(xiàn)的過程中,遇到了類的相互調(diào)用的難題,花費(fèi)了一定的時(shí)間。
(Json實(shí)體類Object和值類Value,數(shù)組類Array,類的大致變量定義聲明是Array : vector<Value>; ? Value:int ,double,Array ; ? Object:Map<string ,value> )
? ? ? ?作業(yè)一開始自己是將三個(gè)類在一個(gè).cpp文件中實(shí)現(xiàn),發(fā)現(xiàn)將類的各種函數(shù)聲明寫好之后出現(xiàn)了問題(因?yàn)轭惱锵嗷フ{(diào)用了所以
編譯錯(cuò)誤是Value類未聲明之類),嘗試在網(wǎng)上搜索解決方法,然后又結(jié)合c++類的理解,所以找到解決方法,在程序的最
開始即類的實(shí)現(xiàn)之前加入三個(gè)簡單的聲明 ?class Array, ?class Object,?class Value,程序最終編譯通過。
? ? ? ?而后來由于程序規(guī)范化的需要,我將三個(gè)類分別拆開寫了,所以對于每個(gè)類都定義了.cpp和.h文件,在這些文件中類的相互調(diào)用
又成為了一個(gè)很棘手的問題,按照之前合寫在一個(gè)cpp上的經(jīng)驗(yàn),我先在每個(gè)類的.h文件中加入了除去本身類的其他需要調(diào)用的類
的聲明,然后按照一直以來的經(jīng)驗(yàn),例如在Array.cpp中加入了include "Array.h"的頭文件,發(fā)現(xiàn)編譯不通過,最后在Array.cpp中
增加需要調(diào)用的類的.h文件中,最終編譯通過。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lvlm/p/7732647.html
總結(jié)
以上是生活随笔為你收集整理的软件测试作业1 -- 关于c++项目中类相互调用的问题与解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 空洞填充
- 下一篇: 线程系列5--java中的ThreadL