資源描述:
《實(shí)驗(yàn)三 構(gòu)造函數(shù)和析構(gòu)函數(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實(shí)驗(yàn)三、構(gòu)造函數(shù)和析構(gòu)函數(shù)一、實(shí)驗(yàn)?zāi)康?.掌握聲明類的方法,類和類的成員的概念以及定義對(duì)象的方法。2.初步掌握用類和對(duì)象編制基于對(duì)象的程序。3.學(xué)習(xí)檢查和調(diào)試基于對(duì)象的程序。4.掌握類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的概念和使用方法。5.掌握對(duì)象數(shù)組、對(duì)象的指針及其使用方法。二、實(shí)驗(yàn)內(nèi)容1.檢查下面的程序,找出其中的錯(cuò)誤,并改正之。然后上機(jī)調(diào)試,使之能正常運(yùn)行。(1)#includeusingnamespacestd;classA{public:A(inti=0){m=i;}//構(gòu)造函數(shù)不
2、要返回類型名voidshow(){cout<usingnamespacestd;classX{private:inta=0;//私有成員不允許賦初值int&b;constintc;voidsetA(int
3、i){a=i;}X(inti){a=i;}public:intX(){a=b=0;}//構(gòu)造函數(shù)無返回值X(inti,intj,intk){a=i;b=j;c=k;}setC(intk)const{c=c+k;}//成員函數(shù)沒有標(biāo)明返回值類型.};intmain(){Xx1;Xx2(2)?;//私有成員函數(shù)不可被外界訪問.Xx3(1,2,3)?;x1.setA(3)?;//私有成員函數(shù)不可被外界訪問.return0?;}改正后的程序:#includeusingnamespace
4、std;classX{private:inta;intb;intc;voidsetA(inti){a=i;}X(inti){a=i;}public:X(){a=b=0;}X(inti,intj,intk){a=i;b=j;c=k;}voidsetC(intk){c=c+k;}};intmain(){Xx1;Xx3(1,2,3);return0;}2.請(qǐng)先閱讀下面的程序,寫出程序運(yùn)行的結(jié)果,然后再上機(jī)運(yùn)行程序,驗(yàn)證自己分析的結(jié)果是否正確。(1)#includeusingnames
5、pacestd;classtest{public:test();intgetint(){returnnum;}floatgetfloat(){returnfl;}~test();private:intnum;floatfl;};test::test(){cout<<"Initalizingdefault"<6、array[1].getint()<<""<usingnamespacestd;#includeclassX{public:X(intx1,char*x2,floatx3):a(x1),c(x3
7、){b=newchar[sizeof(x2)+1];strcpy(b,x2);}X():a(0),b("X::X()"),c(10){}X(intx1,char*x2="X::X(....)",intx3=10):a(x1),b(x2),c(x3){}X(constX&other){a=other.a;b="X::X(constX&other)";c=other.c;}voidprint(){cout<<"a="<8、ivate?:inta;char*b;floatc;};intmain(){X*A=newX(4,"X::X(int,char,float)",32);XB,C(10),D(B);A->print();B.print();C.print();D.print();return0;}結(jié)果;//a=4b=X::X(int,char,float)c=32//a=0b=X::X()c=10//a=10b=X::X(….)c=10//a=0b=X::X(constX&other)c=103.在