版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)“C++語(yǔ)言程序設(shè)計(jì)”課程作業(yè)第四次作業(yè)填空題在定義類(lèi)對(duì)象的語(yǔ)句執(zhí)行時(shí),系統(tǒng)在建立每個(gè)對(duì)象的過(guò)程中將自動(dòng)調(diào)用該類(lèi)的_構(gòu)造函數(shù)_____使其初始化。當(dāng)一個(gè)類(lèi)對(duì)象被撤消時(shí)將自動(dòng)調(diào)用該類(lèi)的__析構(gòu)函數(shù)_________(dá)。對(duì)基類(lèi)數(shù)據(jù)成員的初始化是通過(guò)執(zhí)行派生類(lèi)構(gòu)造函數(shù)中的__初始化表_____來(lái)實(shí)現(xiàn)的。對(duì)一個(gè)類(lèi)中的數(shù)據(jù)成員的初始化可以通過(guò)構(gòu)造函數(shù)中的_初始化表___實(shí)現(xiàn),也可以通過(guò)構(gòu)造函數(shù)中的__賦值語(yǔ)句__(dá)____(dá)__實(shí)現(xiàn)。在一個(gè)派生類(lèi)中,對(duì)基類(lèi)成員、類(lèi)對(duì)象成員和非類(lèi)對(duì)象成員的初始化順序的先基類(lèi)成員,后類(lèi)對(duì)象成員,最后非對(duì)象成員。當(dāng)撤消一個(gè)具有基類(lèi)和類(lèi)對(duì)象成員的派生類(lèi)對(duì)象時(shí),將一方面完畢派生類(lèi)自身的析構(gòu)函數(shù)定義體的執(zhí)行,接著完畢類(lèi)對(duì)象成員的析構(gòu)函數(shù)定義體的執(zhí)行,最后完畢基類(lèi)成員的析構(gòu)函數(shù)定義體的執(zhí)行。設(shè)PX是指向一個(gè)類(lèi)動(dòng)態(tài)對(duì)象的指針變量,則執(zhí)行“deletepx;”語(yǔ)句時(shí),將自動(dòng)調(diào)用該類(lèi)的析構(gòu)函數(shù)。當(dāng)一個(gè)類(lèi)對(duì)象離開(kāi)它的作用域時(shí),系統(tǒng)將自動(dòng)調(diào)用該類(lèi)的析構(gòu)函數(shù)。假定一個(gè)類(lèi)對(duì)象數(shù)組為A[N],當(dāng)離開(kāi)它的作用域時(shí),系統(tǒng)自動(dòng)調(diào)用該類(lèi)析構(gòu)函數(shù)的次數(shù)為N次。假定AB為一個(gè)類(lèi),則執(zhí)行“ABa[10];”語(yǔ)句時(shí),系統(tǒng)自動(dòng)調(diào)用該類(lèi)構(gòu)造函數(shù)的次數(shù)為10次。假定擁護(hù)沒(méi)有給一個(gè)名為AB的類(lèi)定義構(gòu)造函數(shù),則系統(tǒng)為其隱含定義的構(gòu)造函數(shù)為空構(gòu)造函數(shù)。假定用戶沒(méi)有給一個(gè)名為AB的類(lèi)定義析構(gòu)函數(shù),則系統(tǒng)為其隱含定義的析構(gòu)函數(shù)為空析構(gòu)函數(shù)。若需要把一個(gè)函數(shù)“voidf();”定義為一個(gè)類(lèi)AB的友元函數(shù),則應(yīng)在類(lèi)AB的定義中加入一條語(yǔ)句:friendvoidf();。若需要把一個(gè)類(lèi)AB定義為一個(gè)類(lèi)CD的友元類(lèi),則應(yīng)在類(lèi)CD的定義中加入一條語(yǔ)句:friendclassAB;。假定一個(gè)類(lèi)AB中有一個(gè)靜態(tài)整型成員bb,在類(lèi)外為它進(jìn)行定義并初始化為0時(shí),所使用寫(xiě)法為AB:bb=0;。假定類(lèi)AB中有一個(gè)公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類(lèi)外不通過(guò)對(duì)象名訪問(wèn)該成員bb的寫(xiě)法為AB:bb。當(dāng)類(lèi)中一個(gè)字符指針成員指向具有n個(gè)字節(jié)的儲(chǔ)存空間時(shí),它所能儲(chǔ)存字符串的最大長(zhǎng)度為n-1。假定AB為一個(gè)類(lèi),則該類(lèi)的拷貝構(gòu)造函數(shù)的聲明語(yǔ)句為AB:AB(AB&)。對(duì)類(lèi)對(duì)象成員初始化是通過(guò)執(zhí)行構(gòu)造函數(shù)中的初始化表完畢的。對(duì)于類(lèi)中定義的成員,其隱含訪問(wèn)權(quán)限為private,對(duì)于結(jié)構(gòu)中定義的成員,其隱含訪問(wèn)權(quán)限為public。一個(gè)類(lèi)的友元函數(shù)或友元類(lèi)可以通過(guò)成員操作符訪問(wèn)該類(lèi)的所有數(shù)據(jù)成員和函數(shù)成員。假定要對(duì)類(lèi)AB定義加號(hào)操作符重載成員函數(shù),實(shí)現(xiàn)兩個(gè)AB類(lèi)對(duì)象的加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語(yǔ)句為:ABoperator+(AB,AB);。在C++流類(lèi)庫(kù)中,根基類(lèi)為ios。在C++流類(lèi)庫(kù)中,輸入流類(lèi)和輸出流類(lèi)的名稱(chēng)分別為istream和ostream。若要在程序文獻(xiàn)中進(jìn)行標(biāo)準(zhǔn)輸入輸出操作,則必須在開(kāi)始的#inlude命令中使用iosteam.h頭文獻(xiàn)。若要在程序文獻(xiàn)中進(jìn)行文獻(xiàn)輸入輸出操作,則必須在開(kāi)始的#inlude命令中使用fstream.h頭文獻(xiàn)。當(dāng)從字符文獻(xiàn)中讀取回車(chē)和換行兩個(gè)字符時(shí),被系統(tǒng)看作為一個(gè)換行符。當(dāng)使用ifstream流類(lèi)定義一個(gè)流對(duì)象并打開(kāi)一個(gè)磁盤(pán)文獻(xiàn)時(shí),文獻(xiàn)的隱含打開(kāi)方式為讀取的文本文獻(xiàn),當(dāng)使用ofstream流類(lèi)定義一個(gè)流對(duì)象并打開(kāi)一個(gè)磁盤(pán)文獻(xiàn)時(shí),文獻(xiàn)的隱含打開(kāi)方式為寫(xiě)入的文本文獻(xiàn)。當(dāng)需要使用istrstream流類(lèi)定義一個(gè)流對(duì)象并聯(lián)系一個(gè)字符串時(shí),應(yīng)在文獻(xiàn)開(kāi)始使用#include命令,使之包含strstrea.h文獻(xiàn)。二.給出下列程序運(yùn)營(yíng)后的輸出結(jié)果1.#include<iostream.h>classA{inta,b;public:A(){a=b=0;}A(intaa,intbb){a=aa;b=bb;cout<<a<<’’<<b<<endl;}};voidmain(){Ax,y(6,3),z(8,10);}638102.#include<iostream.h>classA{inta,b;public:A(intaa=0,intbb=0):a(aa),b(bb){cout<<"Constructor!"<<a+b<<endl;}};voidmain(){Ax,y(2,5),z(y);}Constructor!0Constructor!73.#include<iostream.h>classA{int*a;public: A(intaa=0)?{ ?a=newint(aa); ?cout<<"Constructor!"<<*a<<endl; }};voidmain(){ Ax[2];?A*p=newA(5);?deletep;}Constructor!0Constructor!0Constructor!54.#include<iostream.h>classA{?inta;public: A(intaa=0):a(aa){} ~A(){cout<<"Destructor!"<<a<<endl;}};voidmain(){?Ax(5); A*p=newA(10);?deletep;}Destructor!10Destructor?。?.#include<iostream.h>classA{int*a;public:?A(intx) {? a=ne(x);? cout<<"Constructor!"<<*a<<endl;?}?~A(){deletea;cout<<"Destructor?。ⅲ?lt;endl;}};voidmain(){?Ax(9),*p;?p=newA(12); deletep;}Constructor!9Constructor!12Destructor!Destructor!6.#include<iostream.h>classA{ inta;public: A(intaa=0):a(aa) {??cout<<"ConstructorA!"<<a<<endl;?}};classB:publicA{?intb;public:?B(intaa,intbb):A(aa),b(bb)?{ ?cout<<"ConstructorB!"<<b<<endl; }};voidmain(){?Bx(2,3),y(4,5);}ConstructorA!2ConstructorB!3ConstructorA!4ConstructorB?。?.#include<iostream.h>classA{ inta;public: A(intaa=0){a=aa;}?~A(){cout<<"DestructorA!"<<a<<endl;}};classB:publicA{intb;public: B(intaa=0,intbb=0):A(aa){b=bb;} ~B(){cout<<"DestructorB!"<<b<<endl;}};voidmain(){ Bx(5),y(6,7);}DeconstructorB!7DeconstructorA!6DeconstructorB!0DeconstructorA!58.#include<iostream.h>#include<stdlib.h>classA{?inta,b;charop;public:?A(intaa,intbb,charch){a=aa;b=bb;op=ch;} intComp()?{? switch(op) {? case'+':returna+b;? ?case'-':returna-b;? ?case'*':returna*b; ?case'/':if(b!=0)returna/b;elsee(cuò)xit(1);?? case'%':if(b!=0)returna%b;elseexit(1); ??default:exit(1);??}?}?voidSetA(intaa,intbb,charch)?{??a=aa;b=bb;op=ch;?}};voidmain(void){?Ax(3,5,'*'); inta=x.Comp();?x.SetA(4,9,'+'); a+=x.Comp();?x.SetA(13,8,'%'); a+=x.Comp();?cout<<"a="<<a<<endl;}a=339.#include<iostream.h>classB{ inta,b;public: B(){a=b=0;} B(intaa,intbb){a=aa;b=bb;}?Boperator+(B&x) {??Br; r.a=a+x.a; r.b=b+x.b;??returnr; } Boperator-(B&x) { Br; r.a=a-x.a;??r.b=b-x.b;??returnr; }?voidOutB()?{??cout<<a<<''<<b<<endl; }};voidmain(){?Bx(6,5),y(13,3),z1,z2;?z1=x+y;?z2=x-y;?z1.OutB();?z2.OutB();}198-7210.#include<iostream.h>template<classTT>classFF{TTa1,a2,a3;public:FF(TTb1,TTb2,TTb3){a1=b1;a2=b2;a3=b3;}TTSum(){returna1+a2+a3;}};voidmain(){FF<int>x(8,3,4),y(5,9,11);cout<<x.Sum()<<''<<y.Sum()<<endl;}1525寫(xiě)出下列每個(gè)函數(shù)的功能1.#include<iomanip.h>#include<fstream.h>#include<string.h>voidJA(char*fname)//可以把fname所指字符串作為文獻(xiàn)標(biāo)記符的文獻(xiàn)稱(chēng)為fname文獻(xiàn){ofstreamfout(fname);chara[20];cin>>a;whlie(strcmp(a,”end”)!=0){fout<<a<<endl;cin>>a;}}將鍵盤(pán)輸入的字符串(上限為19個(gè)字符)寫(xiě)入到fname文獻(xiàn)中。2.#include<iomanip.h>#include<fstream.h>voidJB(char*fname)//可把以fname所指字符串作為文獻(xiàn)標(biāo)記符的文獻(xiàn)稱(chēng)為fname文獻(xiàn)//假定該文獻(xiàn)中保存著一批字符串,每個(gè)字符串的長(zhǎng)度均小于20。{ifstreamfin(fname);chara[20];inti=0;whlie(fin>>a){cout<<a<<endl;i++;}fin.close();cout<<”i=”<<i<<endl;}將fname文獻(xiàn)輸出到標(biāo)準(zhǔn)輸出流(屏幕)上,最后顯示字符串的數(shù)量。3.#include<iomanip.h>#include<fstream.h>voidJC(chat*fname,intn)//可把以fname所指字符串作為文獻(xiàn)標(biāo)記符的文獻(xiàn)稱(chēng)為fname文獻(xiàn){ofstreamfout(fname,ios::out|ios::binary);intx;for(inti=0;I<n;I++){cin>>x;fout.write((char*)&x,sizeof(x));}fout.close();}從鍵盤(pán)輸入n個(gè)數(shù),并以二進(jìn)制的方式寫(xiě)到fname文獻(xiàn)中。4.#include<iomanip.h>#include<fstream.h>voidJD(char*fname)//可把以fname所指字
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 恒流恒壓電源課程設(shè)計(jì)
- 體育行業(yè)的會(huì)計(jì)工作總結(jié)
- 線性代數(shù)總結(jié)課程設(shè)計(jì)
- 自動(dòng)散熱器課程設(shè)計(jì)
- 電子信息行業(yè)電話客服工作總結(jié)
- 文化行業(yè)采購(gòu)合作案例分析
- 教育行業(yè)美工工作心得交流
- 2023-2024學(xué)年上海師大附中閔行分校高一(下)期中語(yǔ)文試卷
- 醫(yī)療機(jī)構(gòu)保安工作內(nèi)容詳解
- IT科技行業(yè)中信息技術(shù)顧問(wèn)的工作總結(jié)
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專(zhuān)業(yè)答案
- 高級(jí)管理招聘面試題與參考回答2024年
- 國(guó)際合作項(xiàng)目風(fēng)險(xiǎn)管理
- 臨床5A護(hù)理模式
- 第一單元《認(rèn)識(shí)物聯(lián)網(wǎng)》第1課 互聯(lián)網(wǎng)和物聯(lián)網(wǎng) 教案 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級(jí)下冊(cè)
- 潔柔形象升級(jí)與整合內(nèi)容營(yíng)銷(xiāo)方案
- 仿真綠植安裝施工方案
- 2024年四川省南充市從“五方面人員”中選拔鄉(xiāng)鎮(zhèn)領(lǐng)導(dǎo)班子成員201人歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 各類(lèi)學(xué)校校園安全應(yīng)急預(yù)案匯編-(附應(yīng)急全套流程圖)
- 送養(yǎng)協(xié)議書(shū)范本范本
- 吸入療法在呼吸康復(fù)應(yīng)用中的中國(guó)專(zhuān)家共識(shí)2022版
評(píng)論
0/150
提交評(píng)論