




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
國家二級C++機試(操作題)模擬試卷23(共9套)(共27題)國家二級C++機試(操作題)模擬試卷第1套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,此工程中含有一個源程序文件proj1.cpp。其中位于每個注釋“//ERROR****found****”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結(jié)果為:Thisobjectisno.1注意:只修改注釋“//ERROR****found****”的下一行語句,不要改動程序中的其他內(nèi)容。//proj1.cpp#include<iostream>usingnamespacest:d;classHyClass{public:NyClass():count(0){cout;<<"Thisobject;is";}//ERROR*******found*******voidlnc()const{cout<<"no."<<++count<<end1;}private://ERROR*******found*******intcount=0;};intmain()}MyClass*obj=newMyClass;//ERROR*******found********obj.Inc();return0;}標準答案:(1)voidInc()(2)intcount;(3)obj->Inc();知識點解析:(1)考查考生對const的掌握,在Inc函數(shù)的函數(shù)體{cout<<"no."<<++count<<end1;}中,有語句++count,將使私有成員count的值發(fā)生改變,因此該函數(shù)不能使用const修飾。(2)考查私有成員,在定義類時,私有成員只能聲明不能初始化。(3)主要考查考生對類的指針的掌握,指針調(diào)用類的成員函數(shù)時要使用標識符“->”,而不能使用“.”。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,此工程中含有一個源程序文件proj2.epp。函數(shù)char水GetNum(char*src,char*buf)從src開始掃描下一個數(shù)字字符序列,并將其作為一個字符串取出放入字符串空間bur中。函數(shù)返回掃描的終止位置,如果返回NULL表示沒有掃描到數(shù)字字符序列。運行程序時,如果輸入的一行字符序列是ABC012XYZ378MN274WS則輸出為:Digitstring1is012Digitstring2is378Digitstring3is274注意:只在橫線處編寫適當代碼,不要刪除或移動“//****found****”。//proj2.cpp#include<iostream>usingnamespacestd;char*GetNum(char,*src,char*buf){while(*src!=’\0’){if(isdigit(*Src))break;src++;}if(*src=’\0’)//********found********_______;while(*src!=’\0’&&isdigit(*src)){//********found********________;buf++;Src++:}*buf=’\0’;returnsrc;}intmain(){charstr[100],digits[20];cin.getline(str,100);char*p=str;inti=1;while((P=GetNum(P,digits))!=NULL){cout<<"Digitstring"<<i<<"is"<<digits<<end1://********found********________;}return0;}標準答案:(1)retumNULL(2)*bur=*src(3)i++知識點解析:(1)主要考查考生對if語句的掌握,由判斷條件if(*src==’\0’),說明字符串a(chǎn)re為空,則返回NULL即可。(2)主要考查考生對while循環(huán)語句的掌握,while語句的循環(huán)條件為*src!=’\0’&&isdigit(*src),該條件是指,若字符串src不為空并且*arc指向的字符為數(shù)字字符,則進行循環(huán)。題目要求把數(shù)字字符放人字符串buf中,因此為水buf=*src。(3)主要考查考生對while循環(huán)語句的掌握,從上一行語句cout<<"Digitstring"<<"i<<"is"<<digits<<end1;中可以得出,題目要求輸出的i是遞增的,因此這里需添加語句i++。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用VC6或使用【答題】菜單打開考生目錄proj3下的工程文件proj3,該文件中定義了用于表示日期的類Date、表示人員的類Person和表示職員的類Staff;程序應(yīng)當顯示:張小麗123456789012345但程序中有缺失部分,請按以下提示把缺失部分補充完整:(1)在“//**1******found****”的下方是析構(gòu)函數(shù)定義中的語句,它釋放兩個指針成員所指向的動態(tài)空間。(2)在“//**2******found****”的下方是rename函數(shù)中的一個語句,它使指針name指向申請到的足夠容納字符串new_name的空間。(3)在“//**3******found****”的下方是構(gòu)造函數(shù)定義的一個組成部分,其作用是利用參數(shù)表中前幾個參數(shù)對基類Person進行初始化。注意:只在指定位置編寫適當代碼,不要改動程序中的其他內(nèi)容,也不要刪除或移動“****found****”。填寫的內(nèi)容必須在一行中完成,否則評分將產(chǎn)生錯誤。//proj3.cpp#include<iostream>usingnamespacestd;clasSPerson{char*idcardno;//用動態(tài)空間存儲的身份證號char*name;//用動態(tài)空間存儲的姓名boolismale;//性別:true為男,false為女public:Person(constchar*pid,constchar*pname,boolpmale);~Person(){//**1**********found********_______;}constchar*getIDCardNO()const{returnidcardno;}constchar*getName()const{returnname;}voidrename(constchar*new_name);boolisMale()const{returnismale;}};classStaff:publicPerson{char*department;doublesalary;public:Staff(constchar*id_card_no,constchar*P_name,boolis_male,constchar*dept,doublesal);~Staff(){delete[]depart-ment;}constchar*getDepartment()const{returndepartment;)voidsetDepartment(constchar*d);doublegetSalary()const{returnsalary;}voidsetSalary(doubleS){salary=s;)};Person∷Person(constchar*id_card_no,constchar*P_name,boolis_male):ismale(is_male){idcardno=newchar[strlen(id_card_no)+1];strcpy(idcardno,id_card_no);name=newchar[strlen(P_name)+1];strcpy(name,p_name);}voidPerson∷rename(constchar*new_name){delete[]name;//**2**********found********________;strcpy(name,new_name);}Staff∷Staff(constchar*id_card_no,constchar*P_name,boolis_male,//**3*********found*******constchar*dept,doublesal):{department=newchar[strlen(dept)+1];strcpy(department,dept);salary=sal;}voidStaff∷setDepartment(constchar*dept){delete[]department;department=newchar[strlen(dept)+1];strcpy(department,dept);}intmain(){ScaffZhangsan("123456789012345","張?zhí)m",false,"人事部",1234,56);Zhangsan.rename("張小麗");cout<<zhangaan.getName()<<Zhangsan.getIDCardNO()<<end1;return0;標準答案:(1)delete[]idcardno,naine(2)name=newchar[strlen(new_name)+1](3)Person(id_card_no,P_name,is_male)知識點解析:(1)主要考查考生對析構(gòu)函數(shù)的掌握,題目要求釋放兩個指針成員所指向的動態(tài)空間。釋放動態(tài)空間應(yīng)使用delete語句,因為要釋放兩個指針,使用語句:delete[]idcardno,name;實現(xiàn)。注意當釋放多個指針時,中間用逗號隔開。(2)考查動態(tài)數(shù)組分配空間,題目要求指針name指向申請到的足夠容納字符串new_nalne的空間。使用strlen(new_name)得到字符串new_nalTle的長度,但是這里要注意加l。(3)主要考查考生對派生類構(gòu)造函數(shù)的掌握,題目要求利用參數(shù)表中前幾個參數(shù)對基類Person進行初始化。派生類的構(gòu)造函數(shù)要使用成員列表初始化法對基類初始化,因此為constchar*dept,doublesal):Person(id_card_no,p_name,is_male)。國家二級C++機試(操作題)模擬試卷第2套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1。程序中位于每個“//ERROR****found****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)為:value=63number=1注意:只修改每個“//ERROR****found****”下的那一行,不要改動程序中的其他內(nèi)容。#includeusingnamespacestd;classMyClass{int*p;constintN;public://ERROR********found********MyClass(intval):N=1{p=newint;*p=val;}//ERROR********found********~MyClass(){delete*p;)friendvoidprint(MyClass&obj);};//ERROR********found********voidMyClass::print(MyClass&obj){cout<<"value="<<*(obj.p)<標準答案:(1)MyClass(intval):N(1)(2)~MyClass(){delete[]p;}(3)voidprint(MyClass&obj)知識點解析:(1)主要考查考生對構(gòu)造函數(shù)的掌握,在這里不能使用賦值語句。(2)主要考查考生對析構(gòu)函數(shù)的掌握,析構(gòu)函數(shù)的delete語句要使用標識符“[]”,即delete[]p;。(3)主要考查考生對友元函數(shù)的掌握,友元函數(shù)并不屬于類,因此定義時前面不用加類名和作用域符號。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開考生文件夾proj2下的工程proj2,其中有兩個類:一是銷售類(sale),用于表示按照一件商品的基本價格進行銷售;另一個是打折銷售類(DiscountSale),用于表示在基本價格基礎(chǔ)上按一個折扣比例進行銷售。DiscountSale類繼承了sale類。類的主要數(shù)據(jù)成員的含義和成員函數(shù)的功能要求在程序注釋中有說明。請在程序中的橫線處填寫適當?shù)拇a,然后刪除橫線,完成程序的功能。此程序的正確輸出結(jié)果應(yīng)為:Discountitemischeaper.Savingis0.1注意:只能在橫線處填寫適當?shù)拇a,不要改動程序中的其他內(nèi)容。#includeusingnamespacestd;classSale{public:Sale();//默認構(gòu)造函數(shù),將price初始化為0Sale(doublethe_price);//構(gòu)造函數(shù),用the_price初始化pricevirtualdoublebill()const;//返回當前商品的價格(基本價)doublesavings(constSale&other)const;//返回參數(shù)other所引用的對象比當前對象便宜的差價protected:doubleprice;//商品的基本價格(不打折的價格)};Sale::Sale():price(0){}Sale::Sale(doubletheprice):price(theprice){)doubleSale::bill()const{returnprice;}doubleSale::savings(constSale&other)const{//ERROR*****found*****_________;//返回當前對象價格比other貴多少的差價}classDiscountSale:publicSale//打折銷售類繼承銷售類{public:DiscountSale();//默認構(gòu)造函數(shù),將discount初始化為0DiscountSale(doublethe_price,doublethediscount);//構(gòu)造函數(shù),the_price是基本價格;thediscount是折扣百分比virtualdoublebill()const;//返回本商品銷售價格(即打折以后的實際售價,覆蓋了基類的bill函數(shù))protected:doublediscount;//折扣百分比。例如降價至原價的70%,此成員值應(yīng)為70};DiscountSale::DiscountSale():discount(0){}DiscountSale::DiscountSale(doubletheprice,doublethediscount):Sale(theprice),discount(thediscount){}doubleDiscountSale::bill()const{doublefraction=discount/100;//*****found*****__________;//返回本對象打折以后的實際售價}booloperator標準答案:(1)returnthis->bill()-other.bill()(2)returnfraction*price(3)returnfirst.bill()知識點解析:Sale類有一個數(shù)據(jù)成員:保護成員price,表示商品的價格;兩個構(gòu)造函數(shù):默認構(gòu)造函數(shù)Sale()將類成員price初始化為0,構(gòu)造函數(shù)Sale(doublethe_price)將成員price初始化為the_price;兩個成員函數(shù):bill()函數(shù)是一個虛函數(shù),返回price的值;savings()函數(shù)返回參數(shù)other所引用的對象比當前對象便宜的差價。DiseountSale類繼承Sale類,它有兩個數(shù)據(jù)成員:保護成員price繼承于Sale類,表示商品價格,保護成員discount表示商品折扣百分比;兩個成員函數(shù):say.ings()函數(shù)繼承于Sale類;bill()函數(shù)繼承Sale類并被改寫。main()函數(shù)中,首先構(gòu)造兩個類對象:Sale類對象simple和DiscountSale類對象discount,其中simple對象的price被賦值為10.oo;discount對象的price被賦值為11.00,成員discount被賦值為90,即折扣為90%。(1)if語句的條件中,將discount與simple進行比較,如果main()主數(shù)的discount小于simple,那么說明discount的實際價格比simple價格便宜;所以需要重載“<”運算符,題意中重載的“<”運算符函數(shù)接收兩個Sale類對象的引用,通過對象的引用,比較兩個對象的實際價格,所以重載“<”運算符函數(shù)體中,若first對象引用的商品實際價格小于second對象引用的商品實際價格,那么函數(shù)值返回true,可知函數(shù)體中需要補充的語句如下:returnfirst.bill()bill()-other.bill()同樣,this指針引用當前對象,other是引用對象,所以可以與bill()虛函數(shù)一起使用多態(tài)機制,獲得當前對象和other對象的實際價格,再進行差值計算(4)main()函數(shù)中,程序判斷discount小于sire-ple后,輸出提示信息,再調(diào)用savings()函數(shù)輸出discount和simple的差值,這里需要計算discount比simple節(jié)省多少錢,所以需要將simple當做當前對象,discount當做參數(shù)傳人savings()函數(shù),所以補充語句如下:simple.savings(discount)三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用VC6或使用【答題】菜單打開考生文件夾prog3下的工程prog3,其中包含了類TaxCalculator(“個稅計算器”)和主函數(shù)main的定義。創(chuàng)建“個稅計算器”需要接收稅率表信息和起征額信息。在main函數(shù)中,通過兩個數(shù)組創(chuàng)建了如下的稅率表:利用這個稅率表創(chuàng)建“個稅計算器”時,假定起征額為2000元(即不超過2000元的所得不征收個人所得稅)。請補充完成計算應(yīng)納個人所得稅額的成員函數(shù)getTaxPayable,其中的參數(shù)income為月收入。此程序的正確輸出結(jié)果應(yīng)為:月收入為800元時應(yīng)繳納個人所得稅0元月收入為1800元時應(yīng)繳納個人所得稅0元月收入為2800元時應(yīng)繳納個人所得稅55元月收入為3800元時應(yīng)繳納個人所得稅155元月收入為4800元時應(yīng)繳納個人所得稅295元月收入為5800元時應(yīng)繳納個人所得稅455元注意:只能在函數(shù)getTaxPayable中的“//***********333***********’’和“//***********666***********”之間填入若干語句,不要改動程序中的其他內(nèi)容。//TaxCalculator.h#include#includeusingnamespacestd;ClassTaxCalculator{public:TaxCalculator(doublethe_limits[],doubletherates[],intthe_length,doublethe_threshold):lower_limits(newdouble[the_length]),rates(newdouble[the_length]),list_len(thelength),threshold(the_threshold){for(inti=0;i<1ist_len;i++){lower_limits[i]=the_limits[i];rates[i]=the_rates[i];}}~TaxCalculator(){delete[]lower_limits;delete[]rates;}doublegetTaxPayable(doubleincome)const;//返回指定月收入的應(yīng)納個人所得稅額voidshowTaxPayable(doubleincome)const;//顯示指定月收入的應(yīng)納個人所得稅額private:double*lower_limits;//適用收入段下限double*rates;//適用稅率intlist_len;//稅率表項數(shù)doublethreshold;//起征額};voidwriteToFile,constchar*path);//TaxCalcnlator.cpp#include"TaxCalculator.h"doubleTaxCalculator::getTax-Payable(doubleincome)const{doubletaxable=income-thresh-old;//應(yīng)納稅工資額doubletax_payable=0.0;//應(yīng)納個人所得稅額inti=1ist_len-1;//從稅率表的最高適用段開始計算while(i>=0){//***********333***********//***********666***********--i;}returntax_payable;}voidTaxCalculator::showTax-Payable(doubleincome)const{cout<<"月收入為"<標準答案:1f(1ncome<=2000)//如果收入小于2000returntax_payable;//直接tex_payable(初始代為零)if(taxable>lower_limits[i]){//如果taxable(收入超出起征額的部分)大于lowerlimits[i]階段最低限額taxpayable+=(taxable-lower_limits[i])*rates[i];//把起過階段最低限額的部分乘以該階段的稅率后,加到tax_payable(個人所得稅)taxable=lower_limits[i];//把fowerlimits[i]賦值于taxable}知識點解析:主要考查考生對成員函數(shù)的掌握情況,根據(jù)題目要求可知,完成計算應(yīng)納個人所得稅額的成員函數(shù)getTaxPayable,其中參數(shù)income為月收入。同時題目還表明:不超過2000元的所得不征收個人所得稅。因此先用if語句判斷是否要征收個人所得稅。然后根據(jù)題目所給表格,來判斷收入多少及應(yīng)該收多少個人所得稅。國家二級C++機試(操作題)模擬試卷第3套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程pmjl,此工程包含有一個源程序文件projl.cpp。其中位于每個注釋“//ERROR****found****”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結(jié)果為:(4,4)注意:只修改注釋“//ERROR****found****”的下一行語句,不要改動程序中的其他內(nèi)容。//projl.cpp#includeusingnamespacestd;classPoint{public://ERROR*********found*********Point(doublex,doubleY)一X(x),—y(Y){)doubleGetX()const{returnx;)doubleGetY()const{return_y;)//ERROR*********found*********voidMove(doublexOff,doubleyOff)const{x+=xOff;_y+=yOff;)protected:doublex;y;};intmain(){Pointpt(1.5,2.5);pt.Move(2.5,1.5);//ERROR*********found*********以下語句輸出pt成員x和y的值cout<<‘(’<標準答案:(1)Point(doublex,doubley):一x(x),一y(y){}或Point(doublex,doubley){—x:x;.y=y;{(2)voidMove(doublexOff,doubleyOff)(3)cout<<’(’<知識點解析:本題主要考查Point類,其中涉及構(gòu)造函數(shù)、成員函數(shù)及成員函數(shù)的調(diào)用。構(gòu)造函數(shù)的語法經(jīng)??疾榈?,一般會考查形參的類型及名稱,本題考查的比較特別,是考查函數(shù)成員初始化列表的基本知識。【解題思路】(1)主要考查的是構(gòu)造函數(shù)的成員初始化列表的語法,在成員列表之前必須加“:”。(2)主要考查成員函數(shù)中const的使用,先看Move函數(shù)的函數(shù)體:{_x+=xOff;—y+=yOff;}可以看到Point類的兩個私有成員一x和一y的值都發(fā)生了變化,因此Move函數(shù)不能使用eonst,因為只有在函數(shù)內(nèi)不改變類的成員的值時才能使用const。(3)主要考查私有成員不能被類外函數(shù)調(diào)用的知識。題目要求輸出pt成員.x和-y的值,從Point類中的函數(shù)doubleGetX()const{return-x;}和doubleGetY()eonst{return—y;},可以分別得到一x和一y的值,因此這里使用語句cout<<‘(’<二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,此工程包含有一個源程序文件pmj2.cpp。其中定義了Base1類、Base2類和Derived類。Base1是一個抽象類,其類體中聲明了純虛函數(shù)Show。Base2類的構(gòu)造函數(shù)負責動態(tài)分配一個字符數(shù)組,并將形參指向的字符串復(fù)制到該數(shù)組中,復(fù)制功能要求通過調(diào)用strcpy函數(shù)來實現(xiàn)。Derived類以公有繼承方式繼承Basel類,以私有繼承方式繼承Base2類。在Derived類的構(gòu)造函數(shù)的成員初始化列表中調(diào)用Base類的構(gòu)造函數(shù)。請在程序中的橫線處填寫適當?shù)拇a,然后刪除橫線,以完成Base1、Base/和Derived類的功能。此程序的正確輸出結(jié)果應(yīng)為:I’maderivedclass.注意:只在指定位置編寫適當代碼,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****found****”。//proj2.cpp#include#includeusingnamespacestd;classBasel{public://**********found**********下列語句需要聲明純虛函數(shù)Show——;;};classBase2{protected:char*;;Base2(constchar*s){_P=newchar[strlen(s)+1];//**********found**********下列語句將形參指向的字符串常量復(fù)制到該類的字符數(shù)組中——;?}~Base2(){delete[]-j);)},//**********found**********Derived類公有繼承Basel,私有繼承Base2類classDerived:——{public://**********found**********以下構(gòu)造函數(shù)調(diào)用Base2類構(gòu)造函數(shù)Derived(constchar*s):——{}voidShow(){cout<<_p<Show();deletepb;return0;}標準答案:(1)virtualvoidShow()=0(2)strcpy(_p,s)(3)publicBasel,privateBase2(4)Base2(s)知識點解析:本題主要考察抽象類Base1、基類Base2及其派生類Derived,其中涉及純虛函數(shù)、構(gòu)造函數(shù)、析構(gòu)函數(shù)、派生類構(gòu)造函數(shù)等知識點。編寫抽象類的純虛函數(shù)時要先看清在派生類中該函數(shù)的定義,注意返回值、參數(shù)類型、有無eonst關(guān)鍵字幾個要點。派生類的構(gòu)造函數(shù)一定要使用成員列表法先對基類初始化?!窘忸}思路】(1)主要考查的是純虛函數(shù)的定義。題目要求聲明純虛函數(shù)Show,因此首先看Basel類的派生類Deftred類中Show函數(shù)的定義:voidShow(){cout<<-p<三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用VC6或使用【答題】菜單打開考生目錄proj3下的工程文件proj3,此工程包含一個源程序文件proj3.epp,其功能是從文本文件in.dat中讀取全部整數(shù),將整數(shù)序列存放到intArray類的對象myA~ay中,然后對整數(shù)序列按非遞減排序,最后由函數(shù)writeToFile選擇序列中的部分數(shù)據(jù)輸出到文件out.dat中。文件in.dat中的整數(shù)個數(shù)不大于300個。要求:補充編制的內(nèi)容寫在“//**********333**********”與“//**********666**********”兩行之間。實現(xiàn)對整數(shù)序列按非遞減排序,并將排序結(jié)果在屏幕上輸出。不得修改程序的其他部分。注意:程序最后已將結(jié)果輸出到文件out.dat中。輸出函數(shù)writeToFile已經(jīng)給出并且調(diào)用。//proj3.cpp#include#include#includeusingnamespacestd;classintArray{private:int*array;//整數(shù)序列首地址intlength;//序列中的整數(shù)個數(shù)public://構(gòu)造函數(shù),從文件中讀取數(shù)據(jù)用于初始化新對象。參數(shù)是文件名intArray(char*filename);voidsort();//對整數(shù)序列按非遞減排序一intArray();voidwriteToFile(char*filename););intArray::intArray(char*filename){ifstreammyFile(filename);intlen=300;array=newint[1en];length=0;while(myFile>>array[1ength++]);length一一;myFile.close();}voidintArray::sort(){//**********333**********//**********666**********}intArray::intArray(){delete[]array;}voidintArray::writeToFile(char。filename){intstep=0;ofstreamoutFile(filename);for(inti=0;i標準答案:for(inti=0;iarray[j])//如果arrag[i]>array[j],把array[i]與ar—ray[i]進行對換{inttemp;//定義一個臨時變量temptemp=array[i];//把array[i]值放到變量temparray[i]=array[j];//把array[j]值賦給array[i]array[j]=terap;//把變量temp存放在值array[j]中}for(inta:0;a知識點解析:本題主要考查intArray類,其中涉及構(gòu)造函數(shù)、排序函數(shù)和析構(gòu)函數(shù)。常用的排序算法有冒泡排序、選擇排序、插入排序、堆排序等?!窘忸}思路】題目要求對整數(shù)序列按非遞減排序,要排序就必須要有比較,因此定義兩個下標i和j,按題目非遞減排序要求,當array[i]比array[j]大時就交換其值,利用中間變量temp來實現(xiàn)?!窘忸}寶典】排序算法有多種,其基本思想是相同的,即先遍歷,后比較,再交換。不同之處在于它們遍歷數(shù)列的順序不同??忌蛇x擇一至兩種算法重點理解。國家二級C++機試(操作題)模擬試卷第4套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開考生文件夾下的源程序文件modi1.cpp,該程序運行時有錯,請改正錯誤,使得程序正確執(zhí)行,并且輸出以下語句:TestClassl:0TestClass2注意:不要改動main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu),錯誤的語句在∥********error********的下面。#includeStructTestClassl{TestClassl(inti=0){m—i=i;}voidprint(){cout<<“TestClassl:”<標準答案:(1)public:(2)TestClass1obj1(0);或TestClasslobj1;(3)TestClass2obj2;知識點解析:程序要求輸出TestClassl:0和TestClass2。從已定源程序的main主函數(shù)開始入手,可以看出程序首先定義TestClassl和TestClass2類型的變量,然后通過調(diào)用其中的print成員函數(shù)實現(xiàn)輸出結(jié)果。解題思路(1)第1個標識下的“private:~TestClass20”是析構(gòu)函數(shù),它不是私有的,所以這里應(yīng)該為“刪除private:或修改為public:”0(2)第2個標識下的“TestClass1obj10;"語句是定義一個TestClassl類型的對象obj10,根據(jù)類TestClassl構(gòu)造函數(shù)的定義“TestClassl(inti=0)”,知道存在整型參數(shù),應(yīng)該補充參數(shù),或者只是先定義一個對象名,然后在使用時補充參數(shù),即修改為“TestClasslobjl(o);或TestClassl0bj1;”。(3)同理第3個標識下的“TestClass2obj2();”語句修改為“TestClass2obj2;”0二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開考生文件夾下的源程序文件modi2.cpp。閱讀下列函數(shù)說明和代碼,完成空出部分程序。函數(shù)fun(int*arr,intn)的功能是將指定的有序數(shù)組壓縮成各元素互不相同的有序數(shù)組,即相同數(shù)只保留一個,多余的被刪除。并返回互不相同的元素的個數(shù)。注意:不能修改程序的其他部分,只能修改fun()函數(shù)。#lnclude<10Stream>intfun(int*a,intn){}voidmain(){intA[]={6,6,5,4,4,3,3,2,1);intj=fun(A,Sizeof(A)/Sizeof(int));for(inti=0;i標準答案:intj;intk=0;//指向數(shù)組第一個元素j=1;//指向數(shù)組第二個元素while(j知識點解析:(1)該程序功能是將指定的有序數(shù)組壓縮成各元素互不相同的有序數(shù)組,即相同數(shù)只保留一個,多余的被刪除。它的解題思路,由第一個元素開始,利用循環(huán)將所有元素,依次與它后面的元素比較,如果不同存入數(shù)組。(2)從已給部分源程序的main主函數(shù)開始入手,核心函數(shù)intfun(int*a,intn)中的參數(shù)a為輸入的數(shù)組,n為數(shù)組大小。解題思路(1)首先指向數(shù)組第一個元素a[k],然后將第二元素a[j]與它比較,不同存入數(shù)組第二個元素(a[++k])。(2)同時,將被比較的位置向后移動一位({++)。循環(huán)直到數(shù)組的最后一個元素比較完畢。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開考生文件夾下的源程序文件modi3.cpp。其中定義的類并不完整,按要求完成下列操作,將類的定義補充完整。完成以下功能:(1)定義CMyTime的私有成員函數(shù)myear、mmonth類型為int,請在注釋∥********1********后添加適當?shù)恼Z句。(2)補充完成CMyTime的構(gòu)造函數(shù),完成對myear、mmonth的賦值,請在注釋∥********3********后添加適當?shù)恼Z句。(3)完成print()的輸出,請在注釋∥********3********后添加適當?shù)恼Z句。輸出格式如下:CurrentTimeyear:xxmonth:XX注意:XX表示兩位0~9的數(shù)字,如CurrentTimeyear:08month:04。(4)完成對month的增加函數(shù)AddMonth(intm),請在注釋∥********4********后添加適當?shù)恼Z句。注意:除在指定位置添加語句之外,請不要改動程序中的其他內(nèi)容。#includeclassCMyTime{private:∥********1********9ublic:CMyTime(intyear,intmonth){∥********2********}voiddisplay(){charyearChar[3];charmonthChar[3];yearChar[0]=(m_year%100)/i0+。0’;yearChar[1]=(m_year%10)+‘0’;monthChar[0]=(mmonth%100)/10+‘0’;monthChar[1]=(mmonth%10)+‘0’,∥********3********cout<<“CurrentTime”<<”year:“<標準答案:(1)添加語句:intm_year,mmonth;(2)添加語句:m_year=year;mmonth=month;(3)添加語句:yearChar[2]=0;monthChar[2]=0;(4)添加語句:m_year+=m—month112;或m_year=ml_year+m—month/12;知識點解析:(1)第1個標識下添加CMyTime的私有成員變量myear、mmonth的聲明,因此第1個標識下應(yīng)添加“intm_year,re_month;”。(2)第2個標識下完成類成員構(gòu)造函數(shù)變量的初始化,即將參數(shù)分別賦值給myear和mmonth,因此第2個標識下應(yīng)添加“m_year=year;m_month=month;”。(3)第3個標識下準備輸出yearChar數(shù)組和monthChar數(shù)組,字符數(shù)組的最后一個字符應(yīng)該為NULL(0),因此第3個標識下應(yīng)添加“yearChar[2]=0;monthChar[2]=0;”。(4)mmonth和參數(shù)之和賦值給mmonth,其和可能超過12,如果超過12表示下一年了,因此myear應(yīng)該加1,故先判斷mmonth是否比12大,可取mmonth/12和myear相加,如果mmonth沒有超過12則mmonth/12=0,反之則為1,第4標識下應(yīng)添加“myear+=mmonth/12;或m_year=m_year+m—month/12;”。國家二級C++機試(操作題)模擬試卷第5套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,此工程包含—個源程序文件projl.cpp。其中位于每個注釋“//ERROR****found****:”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結(jié)果為:Youareright.注意:只修改注釋“//ERROR****found****”的下一行語句,不要改動程序中的其他內(nèi)容。//projl.cpp#includeusingnamespacestd;classMyClass{public:MyClass(intX):number(X){)//ERROR*********found**********一MyClass(intx){)//ERROR*********found*********voidJudge(MyClassaobj);private:intnumber;};voidJudge(MyClass&obj){if(obj.number==10)cout<<”Youareright.”<標準答案:(1)~MyClass(){}(2)friendvoidJudge(MyClass&obj);(3)MyClassobject(10);知識點解析:主要考查的是MyClass類,其中涉及構(gòu)造函數(shù)、析構(gòu)函數(shù)和友元函數(shù)。【解題思路】(1)主要考查考生對析構(gòu)函數(shù)的掌握,析構(gòu)函數(shù)是沒有形參的,因此把形參去掉即可,因為該類沒有動態(tài)分配空間,所以不需要使用delete語句釋放空間。(2)主要考查考生對友元函數(shù)的掌握,在函數(shù)定義中有語句voidJudge(MyClass&obj),在main函數(shù)中有語句Judge(0bject);,即Judge函數(shù)是可以被類外函數(shù)調(diào)用的,并且定義時沒有加上類名和作用域,因此可以知道Judge函數(shù)是友元函數(shù),需要在類型前加上friend。(3)主要考查考生對構(gòu)造函數(shù)調(diào)用的掌握,題目要求輸出結(jié)果為:。Youareright.,在Judge函數(shù)體內(nèi)有語句:if(obj.number==10)cout<<“Youareright.”<二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,此工程中包含一個頭文件shape.h,其中包含了類Shape、Point和Triangle的聲明;包含程序文件shape.cpp,其中包含了類Tfiangle的成員函數(shù)和其他函數(shù)的定義;還包含程序文件proj2.clap,其中包含測試類Shape、Point和Triangle的程序語句。請在程序中的橫線處填寫適當?shù)拇a并刪除橫線,以實現(xiàn)上述功能。此程序的正確輸出結(jié)果應(yīng)為:此圖形是一個抽象圖形,周長=0,面積=0此圖形是一個三角形,周長=6.82843,面積=2注意:只能在橫線處填寫適當?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****found****”。//shape.hclassShape{public:virtualdoubleperimeter()const{return0;}//返回形狀的周長virtualdoublearea()const{return0;}//返回形狀的面積virtualconstchar*name()const{return”抽象圖形--;}//返回形狀的名稱};classPoint{//表示平面坐標系中的點的類doublex;doubley;public://*********found*********Point(doublex0,doubley0):——{)//用x0、y0初始化數(shù)據(jù)成員x、YdoublegetX()const{returnX;)doublegetY()const{returny;});classTriangle:publicShape{//*********found*********_________;//定義3個私有數(shù)據(jù)成員public:Triangle(Pointpl,Pointp2,Pointp3):pointl(p1),point2(p2),point3(p3){)doubleperimeter()const;doublearea()const;constchar*name()const{return?!切巍?;}};//shape.cpp#include“shape.h”#includedoublelength(Pointpl,Pointp2){returnsqrt((p1.getX()一p2.getX())*(p1.getX()一p2.getX())+(p1.getY()一p2.getY())*(p1.getY()一p2.getY()));}doubleTriangle::perimeter()const{//一個return語句,它利用length函數(shù)計算并返回三角形的周長//*********found*********_________;;}doubleTriangle::area()const{doubles=perimeter()/2.0;returnsqrt(s*(S—length(pointl,point2))*(s—length(point2,point3))*(s—length(point3,pointl)));}//proj2.cpp#include”shape.h”#includeusingnamespacestd;//**********found**********//show函數(shù)的函數(shù)頭(函數(shù)體以前的部分){cout《”此圖形是一個”<標準答案:(1)x(x0),y(y0)(2)Pointpointl,point2,point3(3)returnlength(pointl,point2)+length(pointl,point3)+length(point2,point3)(4)voidshow(Shape&shape)知識點解析:本題考查Shape類、Point類和Triangle類,其中涉及虛函數(shù)、構(gòu)造函數(shù)、成員函數(shù)和const函數(shù)。本題涉及3個文件,包括shape.h、shape.cpp和main.cpp。解題時應(yīng)先看shape.h文件,再看shape.cpp文件,最后看main.cpp文件。即先把類的聲明看完,接著看類的定義,最后看在主函數(shù)中類的使用?!窘忸}思路】(1)主要考查考生對構(gòu)造函數(shù)的掌握,題目要求用x0、y0初始化數(shù)據(jù)成員x、y,因此在這里使用成員列表初始化,即Point(doublex0,double)ro):x(x0),y(y0){}。(2)主要考查考生對構(gòu)造函數(shù)的掌握,題目要求定義3個私有數(shù)據(jù)成員。由構(gòu)造函數(shù)可知3個私有數(shù)據(jù)成員的類型都是Point,名稱分別為pointl、point2和point3,因此空格處填寫:Pointpoint1,point2,point3。(3)主要考查考生對成員函數(shù)的掌握,題目要求使用return語句,利用length函數(shù)計算并返回三角形的周長。length函數(shù)返回的是兩點間的距離,因此return語句只要返回三角形三條邊的距離和,即為三角形的周長。(4)主要考查考生對成員函數(shù)的掌握,這里要定義show函數(shù)的函數(shù)頭(函數(shù)體以前的部分)。由主函數(shù)main中show函數(shù)的使用情況show(s)和show(tri)可知,s是Shape類,tri是rriangle類,因為Triangle是Shape類的派生類,所以可知show函數(shù)的參數(shù)是Shape類型,無返回值,得出語句voidshow(Shape&shape)。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用【答題】菜單命令或直接用VC6打開考生文件夾下的工程proj3,其中聲明的是一個人員信息類,補充編制程序,使其功能完整。在main函數(shù)中給出了一組測試數(shù)據(jù),此種情況下程序的輸出應(yīng)該是:Zhang20Tsinghua。注意:只能在函數(shù)address—change的“//**********333**********”和“//**********666**********”之間填入若干語句,不要改動程序中的其他內(nèi)容。程序最后將結(jié)果輸出到文件out.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為0bj文件,并且在本程序中調(diào)用。//proj3.h#include#includeusingnamespacestd;classPerson{charname[20];intage;char*address;public:Person(){age=0;address=0;)voidname_change(char*一name);//名字修改函數(shù)voidage_change(int_age);//年齡修改函數(shù)voidaddress_change(char*add);//地址修改函數(shù)voidinfodisplay();//人員信息顯示一Person();//柝柏函數(shù)};voidwriteToFile(constchar‘path);proj3.cpp#include#include#include”proj3.h”usingnamespacestd;voidPerson::namechange(char。一name){strcpy(name,一name);}voidPerson::age_change(intage){age=_age;}voidPerson::address_change(char*一add){if(address!=NULL)delete[]ad—dress;//*********333*********//*********666*********}voidPerson::info_display(){cout<標準答案:address=newchar[strleFl(add)+1];//給類成員變量動態(tài)分配空間strcpy(address,jdd);//把字符串a(chǎn)dd復(fù)制給add.Ress知識點解析:主要考查的是Person類,其中涉及動態(tài)數(shù)組、析構(gòu)函數(shù)、構(gòu)造函數(shù)和成員函數(shù)?!窘忸}思路】函數(shù)address一change(char*一add)的功能是地址修改,也就是說通過該函數(shù)把類的地址修改為add字符串。類的私有成員address是字符指針,因此首先要給address分配空間,通過new語句來實現(xiàn):address=newchar[strlen(一add)+1];。接下來就是要復(fù)制字符串,使用系統(tǒng)函數(shù)strcpy,其用法為strcpy(參數(shù)1,參數(shù)2),將參數(shù)2的內(nèi)容復(fù)制到參數(shù)1中。國家二級C++機試(操作題)模擬試卷第6套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開考生文件夾下的源程序文件modi1.cpp,但該程序運行時有錯,請改正程序中的錯誤,使程序輸出的結(jié)果為:151注意:錯誤的語句在//******error******的下面,修改該語句即可。#include<iostream.h>//******error******enum{Sun,Mon,Tue,Wed,Thu,F(xiàn)ri,Sat,//******error******}MyEnum;structStruct{//******error******intFri,intSun;};voidmain(){inti=Mon;MyEnumt=Fri;Structstr1;str1.Fri=Mon;cout<<i<<endl;cout<<t<<endl;cout<<str1.Fri<<endl;}標準答案:(1)enumMyEnum(2)};(3)intFri;知識點解析:(1)第一標識下聲明枚舉類型,聲明枚舉類型的一般形式為:“enum<枚舉類型名>{<枚舉常量列表>};”,程序當中把枚舉類型名MyEnum放到枚舉聲明后面,顯然不符合枚舉類型聲明格式,因此第1個標識下應(yīng)改成“enumMyEnum”。(2)由(1)的分析可知,第2個標識下也不符合枚舉類型聲明格式,應(yīng)以“;”結(jié)束,即第2個標識下應(yīng)改為“};”。(3)第3標識處聲明結(jié)構(gòu)體,結(jié)構(gòu)體定義的一般形式為:struct<結(jié)構(gòu)體名>{<成員列表>}<變量名列表>;結(jié)構(gòu)體中成員列表中各個元素是不同的變量,變量之間應(yīng)以分號隔開,而不是以逗號隔開,因此第3個標識下應(yīng)改為為“intFri;”。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開考生文件夾下的源程序文件modi2.cpp。閱讀下列函數(shù)說明和代碼,完成空出部分程序。函數(shù)factor(int*des,int&length,intn)實現(xiàn)的功能是:將n所有因數(shù)存放到des中,通過length引用返回因數(shù)的個數(shù),比如fator(a,length,20)執(zhí)行后,則a={1,2,4,5,10,20},length=6。注意:只能補充函數(shù)factor(),請勿改動其他部分的內(nèi)容。#include<10Stream.h>#defineMAXNLEN100voidfactor(int*des,int&length,intn){}voidmain(){inta[MAXNLEN],length;intn=20;factor(a,length,n);for(inti=0;i<length;i++){cout<<a[i]<<"";}cout<<endl;return;}標準答案:length=0;for(inti=1;i<=n;i++){if(n%i==0)//判斷是否n的因數(shù){des[length]=i;length++;}}知識點解析:(1)找到n的每一個因數(shù)可采用循環(huán)方法,循環(huán)變量從1開始到n,逐個取n和循環(huán)變量的余數(shù)。(2)如果余數(shù)為0說明是n的因數(shù),添加到des中,參數(shù)length是采用的引用傳遞方式,形參的改變會影響實參,因此可直接將length的值加1表示des中元素個數(shù)加1。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開考生文件夾下的源程序文件modi3.cpp。其中定義的類并不完整,按要求完成下列操作,將類的定義補充完整。完成以下功能:(1)定義類的私有變量a、b,請在注釋//********1********后添加適當?shù)恼Z句。(2)完成類的構(gòu)造函數(shù),對變量a、b賦值,缺省兩個變量值為1,在注釋//********2********之后添加語句。(3)完成打印函數(shù)display(),打印出“a*b=c”格式的一個乘法算式,在注釋//********3********之后添加語句。(4)補充主函數(shù),使得打印9×9的乘法口訣。在注釋//********4********后添加語句。注意:除在指定位置添加語句之外,請不要改動程序中的其他內(nèi)容。#include<iostream.h>classCMyFormula{private://********1********public://********2********{this->a=a;this->b=b;}voidset(intx,inty){a=x;b=y;}voiddisplay(){//********3********}};intmain(){CMyFormulaformular(1,1);for(inti=1;i<=9;i++){//********4********for(intj=1;j++){formular.set(j,i);formular.dispiay();cout<<"";}cout<<endl;}return0;}標準答案:(1)添加語句:inta,b;(2)添加語句:CMyFormula(inta=1,intb=1)(3)添加語句:cout<<a<<’*’<<b<<’=’<<a*b;(4)將“for(intj=1;j++)”補充完整為:for(intj=1;j<=i;j++)知識點解析:(1)第1個標識下完成CMyFormula類的私有變量a、b的定義,從函數(shù)set(intx,inty)的參數(shù)類型可以看出a和b均為int型變量,故第1個標識下應(yīng)添加“inta,b;”。(2)第2個標識下添加構(gòu)造函數(shù)聲明,完成對變量a、b賦值,該構(gòu)造有兩個參數(shù)a和b,且a和b缺省值為1,因此第2個標識下應(yīng)添加“CMyFormula(inta=1,intb=1)”。(3)。打印函數(shù)display()在屏幕上打印出“a*b=c”格式的一個乘法算式,因此第3個標識下應(yīng)添加“cout<<a<<’*’<<b<<’=’<<a*b;”。(4)觀察可知第4個標識下的for循環(huán)是死循環(huán),J沒有判斷退出條件,會一直循環(huán)下去得不到想到的9×9的口訣表,外層循環(huán)變量i從1開始變化至9,循環(huán)9次,內(nèi)部循環(huán)變量j應(yīng)該從1變化到i,輸出一行,j<=i,這樣保證輸出的是倒9×9口訣,因此第4個標識下應(yīng)改為“for(intj=1;j<=i.j++)”。國家二級C++機試(操作題)模擬試卷第7套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開考生文件夾下的源程序文件modi1.cpp,該程序運行時有錯,請改正其中的錯誤,使程序正常運行,并使程序的執(zhí)行結(jié)果為:注意:錯誤的語句在//******error******的下面,修改該語句即可。#include#includevoidmain(){inti,j,k;for(i=5;i>=1;i--){//******error******for(j=1;J<=i;j++)cout<<"";//******error******for(k=1;k>=i;k++)cout<0;k++)cout<標準答案:(1)for(j=1;j<=5-i;j++)(2)for(k=1;k<=i;k++)(3)for(k=i-1;k>0;k--)知識點解析:(1)分析可知,兩個循環(huán)負責輸出兩半數(shù)值,剛開始還有空格,而且空格書逐行增加,因此也必須用循環(huán)來實現(xiàn)輸出空格,即內(nèi)層第一個小循環(huán)負責輸出空格,因此for(j=1;j<=i,j++)應(yīng)改為for(j=1,j<=5-i.j++)。(2)第二個小循環(huán)負責輸出左半部分數(shù)值,外層大循環(huán)i從5變到1,而每行前半部分數(shù)值的最大值在減小,因此第二個循環(huán)的循環(huán)變量J與i之和滿足一定關(guān)系,即j<=i,第2個標識處for(k=1;k>=i;k++)應(yīng)改為for(k=1;k<=i;k++)。(3)第三個小循環(huán)負責輸出右半部分數(shù)值,數(shù)值從大變到小,因此循環(huán)變量k的初值為i-1,k逐次變小,即第3標識處for(k=i-1;k>0;k++)應(yīng)改為for(k=-i-1;k>0;k-)。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開考生文件夾下的源程序文件modi2.cpp。閱讀下列函數(shù)說明和代碼,完成空出部分程序。函數(shù)convert(char*strOct)的功能是將八進制轉(zhuǎn)換為十進制。提示:要每一位轉(zhuǎn)換,然后把轉(zhuǎn)換后得到的數(shù)累加起來即可。注意:不能修改其他部分的代碼。#include#includeintconvert(char*strOct){}intmain(){cout<標準答案:intre=0;while(*stroct){re=re*8+(*stroct)-’0’;stroct++;}returnre;知識點解析:(1)定義整型變量re,re記錄求得的10進制數(shù)。(2)convert(char*stroct)的輸入?yún)?shù)為字符指針,而不是整形數(shù)據(jù)指針,因此需要將ASCII碼轉(zhuǎn)換成相應(yīng)的數(shù)字量,即(*stroct)-’0’。(3)按權(quán)展開可采用循環(huán)迭代的方法,如:(123)8=((1×8)+2)×8+3,即迭代過程為上一次運算得到的結(jié)果再乘以8加現(xiàn)在的元素值,即re=re*8+(*stroct)-’0’。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開考生文件夾下的源程序文件modi3.cpp。其中定義的類并不完整,按要求完成下列操作,將類的定義補充完整。完成以下功能:(1)完成類Rect的構(gòu)造函數(shù),實現(xiàn)對變量left、right、top、bottom的初始化,缺省值都為0,請在注釋//********1********后添加適當?shù)恼Z句。(2)完成類Rectangle的構(gòu)造函數(shù),請在注釋//********2********后添加適當?shù)恼Z句。(3)完成計算矩形對角線長度函數(shù)Diagonal(),請在注釋//********3********后添加適當?shù)恼Z句。(4)完成計算周長函數(shù)Girth(),請在注釋//********4********后添加適當?shù)恼Z句。程序輸出:50140注意:增加代碼,或者修改代碼的位置已經(jīng)用符號表示出來。請不要修改其他的程序代碼。#include#includeclassRectangle{public:intleft,right,top,bottom;//********1********{left=1;right=r;top=t;bottom=b;}//********2********{left=rc.1eft;right=rc.right;top=rc.top;bottom=rc.bottom;)floatDiagonal(){//********3********return}intGirth(){//********4********return}};intmain(){Rectanglerect(20,50,40,80);Rectanglerect2(rect);cout<標準答案:(1)添加語句:Rectangle(int1,intr,intt,intb)(2)添加語句:Rectangle(Rectangle&rc)(3)將“return”補充完整為:returnsqrt((right—left)*(right-left)+(bottom-top)*(bottom-top));(4)將“return”補充完整為:return2*((right-left)+(bottom-top));知識點解析:(1)構(gòu)造函數(shù)名和類名一致,構(gòu)造函數(shù)可以重載,即多個構(gòu)造函數(shù)有相同的名字不同的參數(shù),顯然題目當中兩個構(gòu)造函數(shù)均有參數(shù),由函數(shù)體體內(nèi)“l(fā)eft=1;right=r;top=t;bottom=b;”,說明1,r,t,b為構(gòu)造函數(shù)的參數(shù),因此第1標識處應(yīng)添加“Rectangle(int1,intr,intt,intb)”。(2)和題目1一樣,構(gòu)造函數(shù)名和類名一致,函數(shù)體內(nèi):“l(fā)eft=rc.left;right=re.right;top=rc.top;bottom=rc.bottom;”,顯然rc是Rect對象,故該構(gòu)造函數(shù)的參數(shù)為rc對象,故第2標識處應(yīng)添加“Rectangle(Rectangle&rc)”。(3)由對象的left、right、top、bottom值可以求得矩形的長和寬,因此可采用勾股定理計算對角線長度,即第3標識處補充完整為:returnsqrt((right.le
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重要概念與Msoffice考試試題及答案
- 農(nóng)村修房合同協(xié)議書格式
- 邏輯思維訓練的反思與優(yōu)化與試題及答案
- 美團跑腿合同協(xié)議書
- 民間合伙人合同協(xié)議書
- 出國保姆合同協(xié)議書范本
- 終止租房合同協(xié)議書個人
- C語言學習社區(qū)的重要性試題及答案
- 洗車店用工合同協(xié)議書
- 學校餐飲員工合同協(xié)議書
- 2025版亞馬遜FBA物流配送及電商運營服務(wù)合同3篇
- 不良資產(chǎn)處置模式演進探析
- 金屬非金屬礦山安全作業(yè)實際操作考評標準
- 【MOOC】保險學概論-中央財經(jīng)大學 中國大學慕課MOOC答案
- GIS安裝標準化作業(yè)指導書
- C919飛機首飛試飛機組培訓-指示記錄
- 社保費扣費協(xié)議書范文范本下載
- 【一等獎?wù)n件】《刑事攝像技術(shù)》比賽課題:現(xiàn)場照相內(nèi)容及方法
- 卷紙有多長(教學設(shè)計)-2023-2024學年六年級下冊數(shù)學北師大版
- VDA6.3 2023 過程審核檢查表-參考表單
- 數(shù)據(jù)庫原理英文選擇題
評論
0/150
提交評論