版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
填空題(20分)1、—構造函數(shù)—是特殊的成員函數(shù),在創(chuàng)建和初始化對象時調用。2、一靜態(tài)成員—是局部于類的成員,它提供一種同類對象的一共享機制。3、運算符重我的作用是使運算符可以操作自定義的一類對象但重載后運算符原有的一基本語義—不變。4、派生類不能訪問基類的—私有—成員,但可以訪問基類的公有成員和—保護―成員。5、具有—純虛函數(shù)—的類稱為抽象類。6、Windows應用程序是靠—消息一來驅動的,其主函數(shù)的重要任務是對窗口進行初始化工作和一消息循環(huán)7、MFC是用消息映射表來實現(xiàn)消息與—消息響應函數(shù)—之間的映射的,MFC通過_4個宏來聲明和實現(xiàn)消息映射表。8、在文檔/視圖結構的框架中,視圖類_CView類的對象用來顯示數(shù)據(jù)并接受用戶操作。文檔類_CDocument_對象的作用是存儲和管理數(shù)據(jù)。9、CPaintDC是_CDC_類中最常用的派生類,它只能使用在CView類的_0nDraw_函數(shù)中。10、消息WM_MOUSEMOVE的消息響應函數(shù)的函數(shù)名為_0nMouseMove—。11、資源是供Windows應用程序使用的特殊數(shù)據(jù),它們駐留在硬盤上的—可執(zhí)行文獻—中。常用的資源有菜單、快捷鍵、―圖標—、位圖等。12、內存中的對象可以以文獻的形式存儲在永久性存儲介質中,而當應用程序再把它從永久性存儲介質讀入后,該對象能恢復為本來的狀態(tài),則該對象稱之為—永(持)久性對象o
{baseobj1,*p;derivedlobj2;derived2obj3;P=&objl;p->who();P=&obj2;p->who();P=&obj3;p—>who();Objl.who();Obj2.who();0bj3.who();)結果: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;)運營結果:Date=10Date=202228、指出下列程序中的錯誤,并說明理由#include<iostream.h>classStudent{pub1ic:voidStudent(){}“/構造函數(shù)有返回類型錯,函數(shù)后面多分號voidDisp1ay(){cin>>naumber;cout<(姓名<Vname<V學號〈〈number<<endl;}//字符串缺少雙引號private:char*name=noname;//數(shù)據(jù)成員不能賦值intnumber=0;//數(shù)據(jù)成員不能賦值);四、編程題:(20分,每題10分)1、編寫一個程序,實現(xiàn)小型公司的工資管理。該公司重要有4類人員:經理、兼職技術人員、銷售員和銷售經理。規(guī)定存儲這些人員的編號、姓名和月工資,計算月工資并顯示所有信息。月工資計算辦法是:經理拿固定月薪8()()0元,兼職技術人員按每小時100元領取月薪,銷售員按當月銷售額的4%提成,銷售經理既拿固定月工資又拿銷售提成,固定月工資為5()00元,銷售提成為所管部門當月銷售總額的0.5%。規(guī)定補充未完畢的代碼,使其成為一個完整的程序。#inc1ude<iostream.h>classEmployee(public:employee(){cout<V”職工編號、姓名”;cin>>no>>name;sa1ary=0;}voidPay(){}voidDisplay(){}Protected:Intno;charnameL10];floatsaiary;};Classtechnician:publicEmp1oyee〃派生技術人員{public:Technician(){hourlyrate=100.0;}voidPay(){cout?name<<“本月工作時數(shù):"cin?workhours;salary=hourlyrate*workhours;}voidDisplay(){cout?”兼職技術人員”VvnameVv”(編號為”《noVV")“本月工資:"<<salary?endl;)private:〃補充下面內容floathourlyrateintworkhours;};ClassSaleman:pub1icEmployee//派生銷售員類{public:Salesman(){commrate=0.04f;}〃銷售提成比例voidPay(){cout?name<<”本月銷售額:“;〃補充下面內容cin>>sales;salary=sales*commrate;)voidDisplay(){cout?,,銷售員,,?namevv”(編號為“VVno?,,),,本月工資:"號salary<<endl;}Protected:Floatcommrate;sales;};ClassManager:virtua1pub1icEmployee{pub1ic:Manager(){monthlypay=8000;)〃補充函數(shù)體內容VoidPay(){salary=month1ypay;}//補充函數(shù)體內容voidDisplay(){coutv<“經理"<<name?M(編號為M?no<<”廠本月工資:"<<salary<<end1;}Protected:floatmonthlypay;};ClassSalesManager:pub1icManager,publicSalesman//補充此處類的內容{pub1ic:SalesManager(){monthlypay=5()00;Commrate=0.005f;}voidPay(){cout<<name<V”所管部門月銷售額:“;cin>>sales;salary=monthlypay+sa1es*commrate;}voidDisplay(){cout<<”銷售經理”vvname?”(編號為"《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、定義一個時間類Time,能提供和設立由時、分、秒組成的時間,并編出應用程序,規(guī)定涉及定義時間對象,設立時間,運營時間上加1秒的操作,輸出該對象的時間,輸出格式為XX:XX:XXAM(例如:11:20:15AM,上午11時20分15秒)(答案略)二、簡述題(20分,每題5分)(1)簡述構成文檔/視圖結構應用程序框架的4個MFC派生類,并說出它們的功能。答:假如工程名稱為MyP門,則MFCAppWizard會自動創(chuàng)建以下4個派生類來構成應用程序的框架:CFrame類的派生類CMmainFrame>CWinApp類的派生類CMyPrjApp>CDocument類的派生類CMyPrjDoc和CMyPrjView。其中,CMyPrjDoc類對象用來存儲和管理應用程序中的數(shù)據(jù);CMainFrame對象與CMyP門Vie\v對象構成了應用程序的界面,CMainFrame對象只是CMyPrjView對象的容器,ifijC.MyPrjView類的對象是用來顯示文檔與接受用戶事件的;CMyPrjApp類的對象是應用程序的全局對象;它是應用程序中對象的容器;負責創(chuàng)建應用程序界面和消息循環(huán)。(2)為什么拆分窗口的顯示更新必須要同步?文檔類的成員函數(shù)UpdateAl1Views的作用是什么?答:由于應用程序的所有拆分窗口顯示的應當是同一個文檔,所以當文檔發(fā)生變化時,該文檔所相應的窗口當然要同時更新顯示以對的地反映文檔的內容。文檔類的成員函數(shù)UpdateA11Views的作用是告知文檔所相應的所有窗口同時進行重繪。(3)如何才干使控件成為窗口的子窗口并且在窗口中可見?按鈕控件能發(fā)明哪三種不同的形式?答:為了使控件成為窗口的子窗口并且在窗口中可見,兩個控制樣式的常數(shù)使所有控件都必須使用的,一個是WS_CHILD,另一個是WSVISIBLE,前者使控件成為應用程序的子窗口,后者使控件可見。在使用多個常數(shù)制定控件樣式時,應當用符號〃|〃將其進行連接。按鈕控件能發(fā)明以下三種不同的形式:下壓按鈕、復選框、和單選按鈕。(4)如何把繪圖工具載入設備描述環(huán)境進行繪畫?請以畫筆為例寫出執(zhí)行環(huán)節(jié)。答:(1)創(chuàng)建畫筆:CPennewPen(sty1e,width,color);(2)把畫筆載入DC:CPen*oIdPen=pDC—>SelectObject(&newPen);(3)按規(guī)定進行繪畫(4)恢復舊畫筆pDC->SelectObject(oIdPen);三、閱讀下列程序,寫出執(zhí)行結果。(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;)運營結果:(objl*obj2):a=5b=10c=15(obj2*obj3):a=25b=50c=752、#include<iostream.h>classBASE1{public:BASE1(inti){coutVc”調用基類BASE1的構造函數(shù):"<ViV<end1;});classBASE2{pub1ic:BASE2(intj){coutv<”調用基類BASE2的構造函數(shù):“<<jv<endl;}classA:publieBASEl,publieBASE2{public:A(inta,intb,intc,intd):BASE2(b),BASE1(c),b2(a),bl(d){coutVV”調用派生類A的構造函數(shù);”《a+b+c+d?end1;}private:BASE1bl;BASE2b2;};voidmain(){Aojb(U,22,33,44);)運營結果:調用基類Basel的構造函數(shù):33調用基類Base2的構造函數(shù):22調用基類Basei的構造函數(shù):44調用基類Base1的構造函數(shù):11調用派生類A的構造函數(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運營結果: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;}運營結果: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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度鋼材行業(yè)投資分析與風險評估合同
- 2025版學校體育器材租賃與維護服務協(xié)議3篇
- 教育科技在心理健康領域的創(chuàng)新應用
- 二零二五年度打字員與出版社合同:圖書編輯與排版服務協(xié)議2篇
- 社交媒體在小學數(shù)學教學中的作用與影響
- 教育信息化背景下的探究式學習法研究
- 2025年度能源管理創(chuàng)業(yè)合伙人共同投資協(xié)議4篇
- 二零二五年度成都離婚協(xié)議公證辦理材料審核及處理合同4篇
- 企業(yè)可持續(xù)發(fā)展與創(chuàng)新型組織架構的關系
- 小學階段數(shù)學與信息技術課程的資源整合
- 2025-2030年中國MPV汽車市場全景調研及投資策略分析報告
- 二零二五年度數(shù)據(jù)存儲與備份外包服務協(xié)議2篇
- 2024-2025學年初中七年級上學期數(shù)學期末綜合卷(人教版)含答案
- 2023年1月浙江高考英語聽力試題及答案(含MP3+錄音原文)
- 房產抵押注銷申請表
- 【課件】第三課 蒙娜麗莎 課件高中美術湘美版美術鑒賞
- 新媒體研究方法教學ppt課件(完整版)
- 2020新版?zhèn)€人征信報告模板
- 東芝空調維修故障代碼匯總
- 工藝管道儀表流程圖(共68頁).ppt
- 五項管理行動日志excel表格
評論
0/150
提交評論