




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第1章面向?qū)ο蟮姆椒▽W(xué)1.什么是面向?qū)ο蠓椒▽W(xué)解:面向?qū)ο蠓椒▽W(xué)就是盡量模擬人類習(xí)慣的思維方式,使軟件開發(fā)的方法與過程盡可能接近人類認(rèn)識世界、解決問題的方法與過程,從而使描述問題的問題空間(即問題域)與實現(xiàn)解法的解空間(即求解域)在結(jié)構(gòu)上盡可能一致。2.什么是對象它與傳統(tǒng)的數(shù)據(jù)有何關(guān)系有什么不同解:對象是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體。它與傳統(tǒng)數(shù)據(jù)有本質(zhì)的不同,傳統(tǒng)數(shù)據(jù)是被動地等待對它進行處理,對象是進行處理的主體。3.什么是封裝性和繼承性解:封裝是面向?qū)ο蠓椒ǖ囊粋€重要特點,即將對象的屬性和行為封裝在對象的內(nèi)部,形成一個獨立的單位,并盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。繼承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機制,這是類之間的一種關(guān)系。4.什么是多態(tài)性解:多態(tài)性是面向?qū)ο蠓椒ǖ闹匾卣鳌2煌膶ο?,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。5.試寫出學(xué)生管理系統(tǒng)中所涉及的類(屬性和方法)。學(xué)生管理系統(tǒng)中學(xué)生信息有:姓名、學(xué)號、年齡、成績;學(xué)生管理系統(tǒng)完成學(xué)生信息輸入、學(xué)生信息輸出、插入學(xué)生信息、刪除學(xué)生信息、查找學(xué)生信息。解:classStudent{private:charcName[12];ETFramework之上的高級程序設(shè)計語言。C磔C語言的簡潔強大、C++的面向又?象、VB的圖形化設(shè)計方法、Java的編譯與執(zhí)行機制等優(yōu)點于一身。C#^創(chuàng)新性的新式編程語言,它巧妙地結(jié)合了最常用的行業(yè)語言和研究語言中的功能,并引入了多種潛在的新功能,提高了開發(fā)人員在語言構(gòu)造方面的效率,將快速的應(yīng)用程序開發(fā)與對底層平臺各種功能的訪問緊密結(jié)合在一起,使得程序員能夠在.NET平臺上快速開發(fā)各種應(yīng)用程序。7.C++支持多態(tài)性主要表現(xiàn)在哪些方面解:C+歧持兩種多態(tài)性,即編譯時的多態(tài)性和運行時的多態(tài)性。編譯時的多態(tài)性是通過重載來實現(xiàn)的,運行時的多態(tài)性是通過虛函數(shù)來實現(xiàn)的。思考題1.設(shè)計一個棧類,實現(xiàn)的操作有初始化棧、入棧、出棧、判???。解:classStack{private:inttop;ints[100];public:voidIni_Stack();3o<<""<<data[i].name<<""<<data[i].score<<endl;}2.定義一個圖書類,圖書信息有圖書名稱、作者、出版社、價格。要求利用棧實現(xiàn)圖書的入庫、出庫和顯示等功能。constintMAXSIZE=5;ame<<""<<data[i].author<<""<<data[i].publish<<""<<data[i].price<<endl;3.有Distance類和Point類,將Distance類定義為Point類的友元類來實現(xiàn)計算兩點之間距離。第5章靜態(tài)與命名控制1.下列靜態(tài)數(shù)據(jù)成員的特性中,錯誤的是(D)。A.說明靜態(tài)數(shù)據(jù)成員時,前邊要加關(guān)鍵字staticB.靜態(tài)數(shù)據(jù)成員在類外進行初始化C.引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加〈類名〉和作用域運算符D.靜態(tài)數(shù)據(jù)成員不是所有對象所共有的.下列關(guān)于靜態(tài)數(shù)據(jù)成員的敘述,錯誤的是(A)。A.靜態(tài)數(shù)據(jù)成員在對象調(diào)用析構(gòu)函數(shù)后,從內(nèi)存中撤銷B.即使沒有實例化類,靜態(tài)數(shù)據(jù)成員也可以通過類名進行訪問C.類的靜態(tài)數(shù)據(jù)成員是該類所有對象所共享D.類的靜態(tài)數(shù)據(jù)成員需要初始化.下列關(guān)于靜態(tài)成員的敘述中,錯誤的是(B)。A.類的外部可以直接調(diào)用類的靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)B.與一般成員一樣,只有通過對象才能訪問類的靜態(tài)成員C.類的靜態(tài)數(shù)據(jù)成員不能在構(gòu)造函數(shù)中初始化D.類的一般成員函數(shù)可以調(diào)用類的靜態(tài)成員.聲明類的成員為靜態(tài)成員,必須在其前面加上關(guān)鍵字(B)。A.constB.staticC.publicD.virtual.靜態(tài)成員為該類的所有(B)共享。A.成員B.對象C.this指針D.友元.程序運行結(jié)果:123.程序運行結(jié)果:CStatic::val=10思考題1.利用靜態(tài)數(shù)據(jù)成員的概念,編寫一個類,統(tǒng)計目前存在多少個該類的對象。classA{private:staticintn;public:A()n++;}voidPrint(){cout<<n<<endl;}};intA::n=0;intmain(){Aa1;();Aa[5],a2;();return0;}2.利用靜態(tài)數(shù)據(jù)成員的概念,編寫一個學(xué)生類,學(xué)生信息包括姓名、學(xué)號、成績;統(tǒng)計學(xué)生的總?cè)藬?shù)及總成績,并輸出。#include"iostream"#include"iomanip"usingnamespacestd;classStudent{private:char*name;intstu_no;floatscore;staticinttotal_num;staticfloattotal_score;public:Student(char*na,intno,floatsco);voidPrint();};intStudent::total_num=0;floatStudent::total_score=0;intmain(){Students1("張明”,1,90);();Students2("王蘭",2,95);();Students3("于敏",3,87);();return0;Student::Student(char*na,intno,floatsco){name=newchar[strlen(na)+1];strcpy(name,na);stu_no=no;score=sco;total_num++;total_score=total_score+score;}voidStudent::Print(){cout<<"第"<<total_num<<"個學(xué)生:"<<name<<setw(4)<<stu_no<<setw(4)<<score<<endl;cout<<"總?cè)藬?shù)是:"<<total_num<<endl;cout<<"總分?jǐn)?shù)是:"<<total_score<<endl;}3.利用靜態(tài)的概念,編寫一個小貓類,統(tǒng)計并輸出每個小貓的重量、小貓的總數(shù)量及總重量。classsmall_cat態(tài)綁定。在運行時確定函數(shù)調(diào)用稱為動態(tài)綁定。.如果A是從B繼承而來,則A叫子類,B叫父類。.在多重派生過程中,如果想使公共的基類在派生時只有一個副本,則可以將這個基類聲明為虛基類。二、選擇題1.在類的繼承與派生過程中,關(guān)于派生類不正確的說法是(B)。A.派生類可以繼承基類的所有特性B.派生類只能繼承基類的部分特性C.派生類可以重新定義已有的成員C.派生類可以重新定義已有的成員D.派生類可以改變現(xiàn)有成員的屬性派生類對象對它的基類成員,(A)是可以訪問的。B.公有繼承的私有成員D.B.公有繼承的私有成員D.私有繼承的共有成員C.公有繼承的保護成員卜列敘述中不正確的是(C卜B.不能直接由抽象類建立對象DB.不能直接由抽象類建立對象D.純虛函數(shù)沒有其函數(shù)的實現(xiàn)部分C.抽象類不能作為派生類的基類4.當(dāng)定義派生類的對象時,調(diào)用構(gòu)造函數(shù)的正確順序是(A)。A.先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)B.先調(diào)用派生類的構(gòu)造函數(shù),再調(diào)用基類的構(gòu)造函數(shù)C.調(diào)用基類的構(gòu)造函數(shù)和派生類的構(gòu)造函數(shù)的順序無法確定D.調(diào)用基類的構(gòu)造函數(shù)和派生類的構(gòu)造函數(shù)是同時進行的5.關(guān)于多重繼承二義性的描述中,(D)是錯誤的。A.一個派生類的兩個基類中都有某個同名成員,在派生類中對這個成員的訪問可能出現(xiàn)二義性B.解決二義性最常用的方法是對成員名的限定C.基類和派生類中出現(xiàn)同名函數(shù),也存在二義性D.一個派生類是從兩個基類派生而來的,而這兩個基類又有一個共同的基類,對該基類成員進行訪問時,也可能出現(xiàn)二義性6.派生類的構(gòu)造函數(shù)的成員初始化列表中,不能包含6.派生類的構(gòu)造函數(shù)的成員初始化列表中,不能包含A.基類的構(gòu)造函數(shù)(C)。B.派生類的自對象的初始化C.基類的自對象的初始化C.基類的自對象的初始化.下列關(guān)于 protected成員說法,正確的是A.在派生類中仍然是protected的角色C.在派生類中是 private的.下列關(guān)于虛函數(shù)的說法,正確的是 (C)。A.虛函數(shù)是一個static類型的成員函數(shù)D.派生類的一般數(shù)據(jù)成員的初始化(A)。B.具有private成員和public成員的雙重D.在派生類中是 public的.虛函數(shù)是一個非成員函數(shù)C.基類中采用virtual聲明一個虛函數(shù)后,派生類中定義相同原型的函數(shù)時可以不加virtual聲明D.派生類中的虛函數(shù)與基類中相同原型的虛函數(shù)具有不同的參數(shù)個數(shù)或類型.關(guān)于虛函數(shù)和抽象類描述中,(C)是錯誤的。A.純虛函數(shù)是一種特殊的函數(shù),它沒有具體實現(xiàn)B.抽象類是指具有純虛函數(shù)的類C.一個基類中聲明有純虛函數(shù),則它的派生類一定不再是抽象類D.抽象類只能作為基類來使用,其純虛函數(shù)的實現(xiàn)由派生類給出10.下列程序,編譯時出現(xiàn)錯誤的是(C)。classA{1B.2C.3D.4三、簡答題1.簡要定義如下術(shù)語:繼承、虛函數(shù)、多重繼承。答:繼承性是自然界普遍存在的一種現(xiàn)象,是從先輩那里得到已有的特征和行為。類的繼承就是新類從已有類那里獲得已有的屬性和行為,或者說是基類派生了具有基類特征又有新特征的派生類。虛函數(shù)需要在函數(shù)前面加virtual說明。通過虛函數(shù)可以達(dá)到動態(tài)綁定效果。在類的派生過程中,如果基類名有多個,則這種繼承方式稱為多繼承,這時的派生類同時得到了多個已有類的特征。2.分別說明什么是抽象基類什么是虛基類當(dāng)一個類中存在純虛函數(shù)時,這個類就是抽象類。virtual。virtual。第8章模板.類模板的使用實際上是將類模板實例化成為一個具體的(D)。A.類B.對象C.函數(shù)D.模板類.關(guān)于類模板,下列表述中不正確的是(B)。A.用類模板定義一個對象時,不能省略實參B.類模板只能有虛擬類型參數(shù)C.類模板本身在編譯中不會生成任何代碼D.類模板的成員函數(shù)都是模板函數(shù).類模板的模板參數(shù)(D)。A.只可作為數(shù)據(jù)成員的類型B.只可作為成員的返回類型C.只可作為成員函數(shù)的參數(shù)類型D.以上三者皆是.一個(D)允許用戶為類定義一種模式,使得類中的某些數(shù)據(jù)成員及某些成員函數(shù)的返回值能取任意類型。A.函數(shù)模板B.模板函數(shù)C.類模板D.模板類5.如果一個模板聲明列出了多個參數(shù),則每個參數(shù)之間必須使用逗號隔開,每個參數(shù)都須重復(fù)使用關(guān)鍵字(D)。A.constB.staticC.voidD.class.假設(shè)類模板Employee存在一個static數(shù)據(jù)成員salary,由該類模板實例化3個模板類,那么存在(D)個static數(shù)據(jù)成員的副本。A.0B.1C.2D.3.程序運行結(jié)果:120思考題1.編寫一個使用類模板對數(shù)組進行排序、查找和求元素和的程序。constintSIZE=10;輸入鏈表"<<endl;cout<<"2輸入鏈表"<<endl;cout<<"0退出"<<endl;cout<<"請選擇"<<endl;cin>>n;switch(n){case1:head1=newNode<T>;head1->next=0;CreateLinkList(head1);break;case2:head2=newNode<T>;head2->next=0;CreateLinkList(head2);}while(n);template<classT>voidLinkList<T>::Print_LinkList(){intn;do{Node<T>*p;cout<<"1輸出鏈表"<<endl;cout<<"2輸出鏈表"<<endl;cout<<"3輸出合并后的鏈表"<<endl;cout<<"0退出"<<endl;cout<<"請選擇"<<endl;cin>>n;switch(n){p=head1->next;break;p=head2->next;break;Merge();p=head3->next;}if(n){while(p){cout<<p->data<<"";p=p->next;}cout<<endl;}}while(n);}template<classT>voidLinkList<T>::CreateLinkList(Node<T>*h){intflag=-1,num=0;Node<T>*s,*r;r=h;Tx;cout<<"pleaseinputavalue(-1end):"<<endl;cin>>x;while(x!=flag){s=newNode<T>;s->data=x;r->next=s;r=s;cin>>x;}if(r!=NULL)r->next=NULL;}template<classT>voidLinkList<T>::Merge(){Node<T>*p1;Node<T>*s,*r;p1=head1->next;Ta[Maxlen],b[Maxlen],c[Maxlen];inti,j,k,l,n1,n2;i=0;n1=0;n2=0;while(p1){a[i]=p1->data;p1=p1->next;i++;n1++;}p1=head2->next;i=0;while(p1){b[i]=p1->data;p1=p1->next;i++;n2++;}i=n1-1;
j=n2-1;k=0;while(i>=0&&j>=0){if(a[i]>b[j]){c[k++]=a[i--];}else{c[k++]=b[j--];}}if(i>=0){for(l=i;l>=0;l--)c[k++]=a[l];}else{for(l=j;l>=0;l--)c[k++]=b[l];}head3=newNode<T>;head3->next=0;r=head3;for(i=0;i<k;i++){s=newNode<T>;s->data=c[i];r->next=s;r=s;}if(r!=NULL)r->next=NULL;}.用類模板實現(xiàn)棧,功能有:判斷棧是否為空、入棧、出棧、讀棧頂元素。constintMAXSIZE=100;文件,它包含了所有輸入/輸出操作所需要的信息。.成員函數(shù)setf()和unsetf()被用來設(shè)置和恢復(fù)格式狀態(tài)標(biāo)志。.要格式化流操縱元,必須包含頭文件流插入操作符是上上,流提取操作符是>>。C++中,數(shù)據(jù)文件類型分為A.C++中,數(shù)據(jù)文件類型分為A.文本文件和順序文件C.文本文件和二進制文件(A)是標(biāo)準(zhǔn)輸入流。(C)。B.順序文件和隨機文件D.數(shù)據(jù)文件和文本文件cincoutcerrclogcincoutcerrclog6.關(guān)于提取和插入運算符,下列說法不正確的是(A)。A.可以重載為類的成員函數(shù)B.應(yīng)該重載為類的友元函數(shù)C.提取運算符是從輸入字符序列中提取數(shù)據(jù)D.插入運算符是把輸出數(shù)據(jù)插入到輸出字符序列中.選擇下面程序的運行結(jié)果(D)。#include<>voidmain(){inti=100;(ios::hex);cout<<i<<"\t";cout<<i<<"\t";(ios::dec);}cout<<i<<endl;A.6410064B.646464C.6464100D.64100100.判斷正誤,如果不正確,說明原因。(1)帶有l(wèi)ong型參數(shù)的流成員函數(shù)flags()用于根據(jù)參數(shù)設(shè)置標(biāo)志狀態(tài),并返回原來的設(shè)置。(正確)(2)流插入操作符<<和流讀取操作符>>被重載以處理所有的標(biāo)準(zhǔn)數(shù)據(jù)——包括字符和內(nèi)存地址(僅對流插入)一一和全部用戶自定義類型,而且可以作為成員函數(shù)定義。(不正確).下面程序運行后,數(shù)據(jù)文件保存的結(jié)果是(13579)。#include<iostream>#include<fstream>usingnamespaces
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石坎施工方案
- 培訓(xùn)機構(gòu)消防施工方案
- 關(guān)于施工方案
- 美麗人生觀后感
- 二零二五年度私人房產(chǎn)全款買賣合同(限智能家居)
- 甲乙丙方2025年度轉(zhuǎn)租健身房租賃合同
- 2025年度電力工程安全防護電力勞務(wù)分包合同模板
- 二零二五年度生物樣本低溫保管與共享協(xié)議
- 工傷事故賠償及職工權(quán)益保護協(xié)議2025年度范本
- 二零二五年度科技孵化器場地租賃管理服務(wù)合同
- 廉政鑒定書(院內(nèi)廉政意見書)
- 《潘姓源于固始,是不爭的史實》的考辨
- 二次電纜敷設(shè)、接線作業(yè)指導(dǎo)書
- 焊接技師培訓(xùn)教材(釬焊)課件
- 《等腰三角形的性質(zhì)》優(yōu)秀課件
- 原發(fā)性肝癌經(jīng)皮肝動脈化療栓塞術(shù)(TACE)臨床路徑
- 異常情況匯報流程圖
- 化工工藝學(xué)-第二章-化工原料及其初步加工
- 全國水資源綜合規(guī)劃技術(shù)細(xì)則(水利部文件)
- 02312電力系統(tǒng)遠(yuǎn)動及調(diào)度自動化
- 校園欺凌談心記錄
評論
0/150
提交評論