資源描述:
《windows編程-windows編程實驗一3》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、Windows編程實驗一姓名:盧建斌班級:計科1303學號:20133102003131、開發(fā)環(huán)境搭建:(1)參考附件《實驗講義》中第一個實驗文檔,配置QtCreater2.8.1和Q4.8.5開發(fā)環(huán)境。(2)參考第二個實驗文檔,創(chuàng)建HelloWorld應(yīng)用。(3)根據(jù)以上經(jīng)驗,自己創(chuàng)建一個控制臺程序項目。然后,參考附件family_relationship項目,完成:1、試錯練習。至少歸納出3個編譯器報錯的可能情況,總結(jié)在以下空白處。1.e:QTQtsorkspacelfather.h:14:錯誤:'string'doesnotnameatypestring不是一個類型的名字
2、2.e:QTQtsorkspacelchild.cpp:16:錯誤:requestformember'answer'in,((Child*)this)->Child::father,,whichisofnon-classtype'Father**沒有指針類型應(yīng)該使用3.e:QTQtsorkspacelfather.h:8:辛昔誤:'sd'isnotanamespace-namest不是命名空間的名字4.e:QTQtsorkspace1father.h:8:luexpectednamespace-namebeforeVtoken命名空間沒有包含進來2、為Child
3、類增添代碼,時Child也能呼叫Fathero嘗試若不使用前置聲明方法,或者不使用指針數(shù)據(jù)成員,或者不初始化對象中的指針成員時,可能出現(xiàn)的各種編譯器報錯或運行期錯誤。1.E:QTQtsorkspacefamily_relationshipchild.h:l3:錯誤:field'father'hasincompletetypefather是一個不完全類型2.e:QTQtsorkspacelchild.cpp:16:錯誤:invaliduseofincompletetype'structFather'編譯器不知道所用的struct或者是class的具體實現(xiàn)也就是說要使用的那
4、個.h文件沒有包含進來3.e:QTQtsorkspace1child.h:6:錯誤:forwarddeclarationof'structFather'沒有加father.h頭文件4.E:QTQtsorkspacefamily_relationshipchild.h:14:錯誤:ISOC++forbidsdeclarationof'Father1withnotype當father.cpp、child.cpp兩個文件,分別包含了對方的頭文件,并旦分別又在自己的類中聲明了對象3、寫Mother類代碼,探索是否只能夠釆用前置聲明和指針數(shù)據(jù)成員相結(jié)合的編程技術(shù),嘗試用兩種不同編
5、程技術(shù)實現(xiàn)Mother?類和Child類。方法一:mother,h#ifndefMOTHER_H#defineMOTHER_H#includeusingnamespacestd;#include"child?hHclassMother{public:Mother();stringname;Child*child;voidcallChild();voidanswer();};#endif//MOTHER」mother?cpp#includenmother?h11?include6、(11HuaHua11){child=newChild();child->mother=this;}voidMother::callChildO{coutvvendlvv”]amcallingmychild!H;child->answer();}voidMother::answer(){coutusingnamespacestd;//#include11chiId?h"classChild;classMother{p
7、ublic:Mother();stringname;Child*child;voidcallChild();voidanswer();};#endif//MOTHER_Hmother?cpp//#include"mother?h”?include#include"child?h”#includeclassMother;Mother::Mother():name(nHuaHuan){child=newChild