版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
填空題(20分)1、—構(gòu)造函數(shù)—是特殊的成員函數(shù),在創(chuàng)建和初始化對(duì)象時(shí)調(diào)用。2、一靜態(tài)成員—是局部于類的成員,它提供一種同類對(duì)象的一共享機(jī)制。3、運(yùn)算符重我的作用是使運(yùn)算符可以操作自定義的一類對(duì)象但重載后運(yùn)算符原有的一基本語(yǔ)義—不變。4、派生類不能訪問基類的—私有—成員,但可以訪問基類的公有成員和—保護(hù)―成員。5、具有—純虛函數(shù)—的類稱為抽象類。6、Windows應(yīng)用程序是靠—消息一來驅(qū)動(dòng)的,其主函數(shù)的重要任務(wù)是對(duì)窗口進(jìn)行初始化工作和一消息循環(huán)7、MFC是用消息映射表來實(shí)現(xiàn)消息與—消息響應(yīng)函數(shù)—之間的映射的,MFC通過_4個(gè)宏來聲明和實(shí)現(xiàn)消息映射表。8、在文檔/視圖結(jié)構(gòu)的框架中,視圖類_CView類的對(duì)象用來顯示數(shù)據(jù)并接受用戶操作。文檔類_CDocument_對(duì)象的作用是存儲(chǔ)和管理數(shù)據(jù)。9、CPaintDC是_CDC_類中最常用的派生類,它只能使用在CView類的_0nDraw_函數(shù)中。10、消息WM_MOUSEMOVE的消息響應(yīng)函數(shù)的函數(shù)名為_0nMouseMove—。11、資源是供Windows應(yīng)用程序使用的特殊數(shù)據(jù),它們駐留在硬盤上的—可執(zhí)行文獻(xiàn)—中。常用的資源有菜單、快捷鍵、―圖標(biāo)—、位圖等。12、內(nèi)存中的對(duì)象可以以文獻(xiàn)的形式存儲(chǔ)在永久性存儲(chǔ)介質(zhì)中,而當(dāng)應(yīng)用程序再把它從永久性存儲(chǔ)介質(zhì)讀入后,該對(duì)象能恢復(fù)為本來的狀態(tài),則該對(duì)象稱之為—永(持)久性對(duì)象o
{baseobj1,*p;derivedlobj2;derived2obj3;P=&objl;p->who();P=&obj2;p->who();P=&obj3;p—>who();Objl.who();Obj2.who();0bj3.who();)結(jié)果:baseclassBaseclassBasec1assBasec1assDerivedlclassDerived2class7、#include<iostream,h>c1assexamp1e{private:intdate;staticintcount;public:example(inty=10):date(y){cout<<"date="date<<endl;Count++;}staticintdisplay()staticintdisplay()staticintdisplay(){returncount;staticintdisplay(){returncount;}};intexamp1e::count=0;voidmain(){exanip1eel;examplee2(20);cout<<e1.Display()<<end1;cout<<e2.Display()<<end1;cout<<example::Display()<<end1;)運(yùn)營(yíng)結(jié)果:Date=10Date=202228、指出下列程序中的錯(cuò)誤,并說明理由#include<iostream.h>classStudent{pub1ic:voidStudent(){}“/構(gòu)造函數(shù)有返回類型錯(cuò),函數(shù)后面多分號(hào)voidDisp1ay(){cin>>naumber;cout<(姓名<Vname<V學(xué)號(hào)〈〈number<<endl;}//字符串缺少雙引號(hào)private:char*name=noname;//數(shù)據(jù)成員不能賦值intnumber=0;//數(shù)據(jù)成員不能賦值);四、編程題:(20分,每題10分)1、編寫一個(gè)程序,實(shí)現(xiàn)小型公司的工資管理。該公司重要有4類人員:經(jīng)理、兼職技術(shù)人員、銷售員和銷售經(jīng)理。規(guī)定存儲(chǔ)這些人員的編號(hào)、姓名和月工資,計(jì)算月工資并顯示所有信息。月工資計(jì)算辦法是:經(jīng)理拿固定月薪8()()0元,兼職技術(shù)人員按每小時(shí)100元領(lǐng)取月薪,銷售員按當(dāng)月銷售額的4%提成,銷售經(jīng)理既拿固定月工資又拿銷售提成,固定月工資為5()00元,銷售提成為所管部門當(dāng)月銷售總額的0.5%。規(guī)定補(bǔ)充未完畢的代碼,使其成為一個(gè)完整的程序。#inc1ude<iostream.h>classEmployee(public:employee(){cout<V”職工編號(hào)、姓名”;cin>>no>>name;sa1ary=0;}voidPay(){}voidDisplay(){}Protected:Intno;charnameL10];floatsaiary;};Classtechnician:publicEmp1oyee〃派生技術(shù)人員{public:Technician(){hourlyrate=100.0;}voidPay(){cout?name<<“本月工作時(shí)數(shù):"cin?workhours;salary=hourlyrate*workhours;}voidDisplay(){cout?”兼職技術(shù)人員”VvnameVv”(編號(hào)為”《noVV")“本月工資:"<<salary?endl;)private:〃補(bǔ)充下面內(nèi)容floathourlyrateintworkhours;};ClassSaleman:pub1icEmployee//派生銷售員類{public:Salesman(){commrate=0.04f;}〃銷售提成比例voidPay(){cout?name<<”本月銷售額:“;〃補(bǔ)充下面內(nèi)容cin>>sales;salary=sales*commrate;)voidDisplay(){cout?,,銷售員,,?namevv”(編號(hào)為“VVno?,,),,本月工資:"號(hào)salary<<endl;}Protected:Floatcommrate;sales;};ClassManager:virtua1pub1icEmployee{pub1ic:Manager(){monthlypay=8000;)〃補(bǔ)充函數(shù)體內(nèi)容VoidPay(){salary=month1ypay;}//補(bǔ)充函數(shù)體內(nèi)容voidDisplay(){coutv<“經(jīng)理"<<name?M(編號(hào)為M?no<<”廠本月工資:"<<salary<<end1;}Protected:floatmonthlypay;};ClassSalesManager:pub1icManager,publicSalesman//補(bǔ)充此處類的內(nèi)容{pub1ic:SalesManager(){monthlypay=5()00;Commrate=0.005f;}voidPay(){cout<<name<V”所管部門月銷售額:“;cin>>sales;salary=monthlypay+sa1es*commrate;}voidDisplay(){cout<<”銷售經(jīng)理”vvname?”(編號(hào)為"《noV<")”本月工資:“<<sa1ary<<end1;)voidmain(){managerml;Techniciant1;Salesmans1;Salesinanagersml;m1.pay();ml.disp1ay();tl.payO;t1.disp1ay();s1.pay();si.disp1ay();sm1.pay();sml.displayO;}2、定義一個(gè)時(shí)間類Time,能提供和設(shè)立由時(shí)、分、秒組成的時(shí)間,并編出應(yīng)用程序,規(guī)定涉及定義時(shí)間對(duì)象,設(shè)立時(shí)間,運(yùn)營(yíng)時(shí)間上加1秒的操作,輸出該對(duì)象的時(shí)間,輸出格式為XX:XX:XXAM(例如:11:20:15AM,上午11時(shí)20分15秒)(答案略)二、簡(jiǎn)述題(20分,每題5分)(1)簡(jiǎn)述構(gòu)成文檔/視圖結(jié)構(gòu)應(yīng)用程序框架的4個(gè)MFC派生類,并說出它們的功能。答:假如工程名稱為MyP門,則MFCAppWizard會(huì)自動(dòng)創(chuàng)建以下4個(gè)派生類來構(gòu)成應(yīng)用程序的框架:CFrame類的派生類CMmainFrame>CWinApp類的派生類CMyPrjApp>CDocument類的派生類CMyPrjDoc和CMyPrjView。其中,CMyPrjDoc類對(duì)象用來存儲(chǔ)和管理應(yīng)用程序中的數(shù)據(jù);CMainFrame對(duì)象與CMyP門Vie\v對(duì)象構(gòu)成了應(yīng)用程序的界面,CMainFrame對(duì)象只是CMyPrjView對(duì)象的容器,ifijC.MyPrjView類的對(duì)象是用來顯示文檔與接受用戶事件的;CMyPrjApp類的對(duì)象是應(yīng)用程序的全局對(duì)象;它是應(yīng)用程序中對(duì)象的容器;負(fù)責(zé)創(chuàng)建應(yīng)用程序界面和消息循環(huán)。(2)為什么拆分窗口的顯示更新必須要同步?文檔類的成員函數(shù)UpdateAl1Views的作用是什么?答:由于應(yīng)用程序的所有拆分窗口顯示的應(yīng)當(dāng)是同一個(gè)文檔,所以當(dāng)文檔發(fā)生變化時(shí),該文檔所相應(yīng)的窗口當(dāng)然要同時(shí)更新顯示以對(duì)的地反映文檔的內(nèi)容。文檔類的成員函數(shù)UpdateA11Views的作用是告知文檔所相應(yīng)的所有窗口同時(shí)進(jìn)行重繪。(3)如何才干使控件成為窗口的子窗口并且在窗口中可見?按鈕控件能發(fā)明哪三種不同的形式?答:為了使控件成為窗口的子窗口并且在窗口中可見,兩個(gè)控制樣式的常數(shù)使所有控件都必須使用的,一個(gè)是WS_CHILD,另一個(gè)是WSVISIBLE,前者使控件成為應(yīng)用程序的子窗口,后者使控件可見。在使用多個(gè)常數(shù)制定控件樣式時(shí),應(yīng)當(dāng)用符號(hào)〃|〃將其進(jìn)行連接。按鈕控件能發(fā)明以下三種不同的形式:下壓按鈕、復(fù)選框、和單選按鈕。(4)如何把繪圖工具載入設(shè)備描述環(huán)境進(jìn)行繪畫?請(qǐng)以畫筆為例寫出執(zhí)行環(huán)節(jié)。答:(1)創(chuàng)建畫筆:CPennewPen(sty1e,width,color);(2)把畫筆載入DC:CPen*oIdPen=pDC—>SelectObject(&newPen);(3)按規(guī)定進(jìn)行繪畫(4)恢復(fù)舊畫筆pDC->SelectObject(oIdPen);三、閱讀下列程序,寫出執(zhí)行結(jié)果。(4()分,每題5分)1、#include<iostream.h>c1assAbe{public:Abc(){a=0;b=0;c=0;)Abc(inti,intj,intk){a=i;b=j;c=k;)voidget(int&i,int&j,int&k){i=a;j=b;k=c;}Abeoperator*(Abeobj);private:inta,b,c;);AbeAbe::operator*(Abeobj){Abetempobj;tempobj.a=a*obj.a;tempobj.b=b*obj.b;tempobj.c=c*obj.c;returntempobj;voidmain(){Abcobj1(1,2,3),obj2(5,5,5),obj3;inta,b,c;obj3=objl*obj2;obj3.get(a,b,c);coutv<”(objI*obj2):ab="<Vb<<\t?,c=,,?c?,\t,<<endl;(obj2*obj3).get(a,b,c);cobj2*obj3):\t"<<"a=“<VaVV'\l'V<''b="V<b<V'\t,?,c=n<<c?*\t'<<endl;)運(yùn)營(yíng)結(jié)果:(objl*obj2):a=5b=10c=15(obj2*obj3):a=25b=50c=752、#include<iostream.h>classBASE1{public:BASE1(inti){coutVc”調(diào)用基類BASE1的構(gòu)造函數(shù):"<ViV<end1;});classBASE2{pub1ic:BASE2(intj){coutv<”調(diào)用基類BASE2的構(gòu)造函數(shù):“<<jv<endl;}classA:publieBASEl,publieBASE2{public:A(inta,intb,intc,intd):BASE2(b),BASE1(c),b2(a),bl(d){coutVV”調(diào)用派生類A的構(gòu)造函數(shù);”《a+b+c+d?end1;}private:BASE1bl;BASE2b2;};voidmain(){Aojb(U,22,33,44);)運(yùn)營(yíng)結(jié)果:調(diào)用基類Basel的構(gòu)造函數(shù):33調(diào)用基類Base2的構(gòu)造函數(shù):22調(diào)用基類Basei的構(gòu)造函數(shù):44調(diào)用基類Base1的構(gòu)造函數(shù):11調(diào)用派生類A的構(gòu)造函數(shù):1103、#include<iostream.h>template<typenameT>voidfun(T&x,T&y){Ttemp;temp=x;x=y;y=temp;voidfun(doublex,inty){doubletemp;temp二x;x=y;y=lemp;)voidmain()(inti,j;i=3();j=1();fun(i,j);coul<<"i=n?i?\t,?,j=*<<j?end1;doub1ea,b;a=1.23;b=3.21;fun(a,b);coui<<“a=,??a<<y\V?"b=<<b?endl;doublem=10;intn=30;fun(m,n);coutv<"m=''V<m<V'\t'<<''n="VVn<<end1;1運(yùn)營(yíng)結(jié)果:i=10j=30a=3.21b=l.23m=10n=304、#include<iostream.h>{doublex=123.456;cout.width(IO);cout.setf(ios::dec,ios::basefield);coul<<x?endl;cout.setf(ios::1eft);cout<<x<<endl;cout.width(15);cout.setf(ios::right,ios::1eft);cout<<x<<end1;cout.setf(ios::showpos);cout<<x<<endl;cout<<-x?endl;cout.setf(ios::scientific);cout?x<<endl;}運(yùn)營(yíng)結(jié)果:123.456123.456123.456+123.456-123.4564-1.234560e+0025、#include<iostream.h>enumBREED{GOLDEN,CAIRN,DANDIE,SHETLAND,DOBERMAN,LAB);c1assMammal{public:“/constructorsoMamma1():itsAge(2),itsWeight(5){}?Mamma1(){}//accessorsinlGeiAge()const?{returnitsAge;}ovoidSetAge(intage){itsAge=age;}intGetWeight()const{r0VoidSetWeight(into//Othermethods0VoidSpeak()constvoidSIeep()constprotected:intitsAge;intitsWeight;);classDog:public{pub1ic:。//ConstruetorsDog():itsBreed(GOLDEN){}。?Dog(){)eturnitsWeight;}weight){itsWeight=weight{cout?"Mammalsound!\nu;}{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如皋農(nóng)村婚慶酒店合同范例
- 出租集裝箱租賃合同范例
- 商洛房屋出售合同范例
- 政府醫(yī)療采購(gòu)合同范例
- 嫁接樹木合同范例
- 燈飾開關(guān)銷售合同范例
- 廢品金屬回收合同范例
- 個(gè)人高額借錢合同范例
- 銅仁幼兒師范高等??茖W(xué)校《數(shù)據(jù)庫(kù)原理及應(yīng)用SQL-Server》2023-2024學(xué)年第一學(xué)期期末試卷
- 完整版100以內(nèi)加減法混合運(yùn)算4000道129
- 2022年注冊(cè)消防工程師繼續(xù)教育測(cè)試題
- 2024年《高等教育心理學(xué)》教師崗前培訓(xùn)考試復(fù)習(xí)題庫(kù)(含答案)
- 船舶電氣設(shè)計(jì)
- 七年級(jí)歷史上冊(cè)第一學(xué)期期末綜合測(cè)試卷(人教版 2024年秋)
- 2024年首屆全國(guó)“紅旗杯”班組長(zhǎng)大賽考試題庫(kù)800題(含答案)
- CJJ101-2016 埋地塑料給水管道工程技術(shù)規(guī)程
- 2024河北石油職業(yè)技術(shù)大學(xué)教師招聘考試筆試試題
- 2022-2023學(xué)年廣東省廣州市增城區(qū)教科版(廣州)六年級(jí)上冊(cè)期末測(cè)試英語(yǔ)試卷(含聽力音頻) 【帶答案】
- 2024-2030年中國(guó)七氟丙烷行業(yè)市場(chǎng)現(xiàn)狀調(diào)查及發(fā)展前景研判報(bào)告
- GB/T 43868-2024電化學(xué)儲(chǔ)能電站啟動(dòng)驗(yàn)收規(guī)程
- 人際傳播能力智慧樹知到期末考試答案章節(jié)答案2024年復(fù)旦大學(xué)
評(píng)論
0/150
提交評(píng)論