![國家二級C++機試(操作題)模擬試卷34(共27題)_第1頁](http://file4.renrendoc.com/view14/M0B/10/1F/wKhkGWbCjkGAR9-_AALnqoSeH6k550.jpg)
![國家二級C++機試(操作題)模擬試卷34(共27題)_第2頁](http://file4.renrendoc.com/view14/M0B/10/1F/wKhkGWbCjkGAR9-_AALnqoSeH6k5502.jpg)
![國家二級C++機試(操作題)模擬試卷34(共27題)_第3頁](http://file4.renrendoc.com/view14/M0B/10/1F/wKhkGWbCjkGAR9-_AALnqoSeH6k5503.jpg)
![國家二級C++機試(操作題)模擬試卷34(共27題)_第4頁](http://file4.renrendoc.com/view14/M0B/10/1F/wKhkGWbCjkGAR9-_AALnqoSeH6k5504.jpg)
![國家二級C++機試(操作題)模擬試卷34(共27題)_第5頁](http://file4.renrendoc.com/view14/M0B/10/1F/wKhkGWbCjkGAR9-_AALnqoSeH6k5505.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
國家二級C++機試(操作題)模擬試卷34(共9套)(共27題)國家二級C++機試(操作題)模擬試卷第1套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,該工程中包含程序文件main.epp,其中有關(guān)TVSet(“電視機”)和主函數(shù)main的定義。程序中位于每個“//ERROR*******found*******”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)該是:規(guī)格:29英寸,電源:開,頻道:5,音量:18規(guī)格:29英寸,電源:關(guān),頻道:-1,音量:-1注意:只修改每個“//ERROR****found****”下的那一行,不要改動程序中的其他內(nèi)容。#include<iostream>usingnamespacestd;classTVSet{//“電視機”類constintsize;intchannel;//頻道intvolume;//音量boolon;//電源開關(guān):true表示開,false表示關(guān)public://ERROR****found****TVSet(intsize){thiS->Size(size);channel=0;volume=15;on=false;}intgetsize()const{returnsize;}//返回電視機規(guī)格boolisOn()const{returnon;)//返回電源開關(guān)狀態(tài)//返回當(dāng)前音量,關(guān)機情況下返回-1intgetVolume()const{returnisOn()?volume:-1;}//返回當(dāng)前頻道,關(guān)機情況下返回-1intgetChannel()const{returnisOn()?channel:-1;)//ERROR*******found*******voidturnOnOff()const//將電源在“開”和“關(guān)”之間轉(zhuǎn)換{on=!on;)voidsetChannelTo(intchan){//設(shè)置頻道(關(guān)機情況下無效)if(isOn()&&chan>=0&&chan<=99)channel=chan;}voidsetVolumeTo(intvol){//設(shè)置音量(關(guān)機情況下無效)if(isOn()&&vol>=0&&vol<=30)volume=vol,}voidshowstate(){//ERROR*******found*******cout<<"規(guī)格:"<<getsize()<<"英寸"<<",電源:"<<(isOn()?"開":"關(guān)")<<",頻道:"<<getChannel()<<",音量:"<<getVolume()<<end1;}};intmain(){TVSettv(29);tv.turnOnOff();tv.setChanneiTo(5);tv.setVolumeTo(18);tv.showstate();tv.turnOnOff();tv.showState();return0;}標(biāo)準(zhǔn)答案:(1)TVSet(intsize):size(size){(2)voidturnOnOff()(3)cout<<"規(guī)格:"<<getSize()<<"英寸"知識點解析:(1)主要考查考生對構(gòu)造函數(shù)的掌握,因為size是常變量,所以只能用成員初始化列表來初始size,即TVSet(intsize):size(size)}。(2)主要考查考生對const函數(shù)的掌握,在turnOnOff函數(shù)中,有語句:on=!on;,使得on的值發(fā)生改變,因此該函數(shù)不能使用const。(3)主要考查考生對輸出語句的掌握,下一條語句:<<",電源:"<<(isOn()?"開":"關(guān)"),說明輸出語句還沒結(jié)束,因此不能用“;”。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2。該工程中包含一個程序文件main.cpp,其中有類Quadritic、類Root及主函數(shù)main的定義。一個Quadritic對象表示一個aχ2+bχ+c的一元二次多項式。一個Root對象用于表示方程aχ2+bχ+c=0的一組根,它的數(shù)據(jù)成員hum_of_roots有3種可能的值,即0、1和2,分別表示根的3種情況:無實根、有兩個相同的實根和有兩個不同的實根。請在程序中的橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為(注:輸出中的X^表示χ2):3X^2+4X+5=0.0無實根4.5X^2+6X+2=0.0有兩個相同的實根:-0.666667和-0.6666671.5X^2+2X-3=0.0有兩個不同的實根:0.896805和-2.23014注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“****found****”。#1nclude<lostream>#include<iomanip>#include<cmath>usingnamespacestd;classRoot{//一元二次方程的根public:constdoublex1;//第一個根constdoublex2;//第二個根constintnum_of_roots;//不同根的數(shù)量:0、1或2//創(chuàng)建一個“無實根”的Root對象Root():x1(0.0),x2(0.0),num_of_roots(0){}//創(chuàng)建一個“有兩個相同的實根”的Root對象Root(doubleroot)//**********found**********:_______{}//創(chuàng)建一個“有兩個不同的實根”的Root對象Root(doubleroot1,doubleroot2):x1(root1),x2(root2),numofroots(2){)voidshow()const{//顯示根的信息cout<<"\t\t";switch(num_of_roots){case0://**********found**********case1:cout<<"有兩個相同的實根:"<<x1<<"和"<<x2;break;default:cout<<"有兩個不同的實根:"<<x1<<"和"<<x2;break;}}};classQuadratic{//二次多項式public:constdoublea,b,c;//分別表示二次項、一次項和常數(shù)項等3個系數(shù)Quadratic(doublea,doubleb,doublec)//構(gòu)造函數(shù)//**********found**********:_______{}Quadratic(Quadratic&x)//復(fù)制構(gòu)造函數(shù):a(x.a(chǎn)),b(x.b),c(x.c){}Quadraticadd(Quadraticx)const{//求兩個多項式的和returnQuadratic(a+x.a(chǎn),b+x.b,c+x.c);}Quadraticsub(Quadraticx)const{//求兩個多項式的差//**********found**********}doublevalue(doubleX)const{//求二次多項式的值returna*x*x+b*x+c;}Rootroot()const{//求一元二次方程的根doubledelta=b*b-4*a*c;//計算判別式if(delta<0.0)returnRoot();if(delta==0.0)returnRoot(-b/(2*a));doublesq=sqrt(delta);returnRoot((-b+sq)/(2*a),(-b-sq)/(2*a));}voidshow()const{//顯示多項式cout<<end1<<a<<"X^2"<<showpos<<b<<"X"<<C<<noshowpos;}voidshowFunction(){//顯示一元二次方程show();cout<<"=0.0";}};intmain(){Quadraticq1(3.0,4.0,5.0),q2(4.5,6.0,2.0),q3(q2.sub(q1));q1.showFunction();q1.root().show();q2.showFunction();q2.root().show();q3.showFunction();q3.root().show();cout<<end1;return0;}標(biāo)準(zhǔn)答案:(1)x1(root),x2(root),Bum_of_roots(1)(2)cout<<"無實根";break;(3)a(a),b(b),c(c)(4)returnQuadratic(a-X.a(chǎn),b-x.b,c-x.c);知識點解析:(1)主要考查考生對構(gòu)造函數(shù)的掌握,題目要求創(chuàng)建一個“有兩個相同的實根”的Root對象。說明兩個根x1和)x2相等,根的數(shù)量為1,因此可以得出語句:xl(root),x2(root),num_of_roots(1){}。(2)主要考查考生對switch語句的掌握,在語句switch(num_of_roots){中,num_of_roots代表根的數(shù)量,當(dāng)為0時,表示沒有根,因此輸出無實根,注意要在句尾加break。(3)主要考查考生對構(gòu)造函數(shù)的掌握,本題使用成員初始化列表來構(gòu)造函數(shù)。(4)主要考查考生對成員函數(shù)的掌握,題目要求求兩個多項式的差。兩個多項式的差就是各個次方的系數(shù)相減,因此得出語句:returnQuadratic(a-x.a(chǎn).b-x.b,c-x.e);。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中包含了類Integers和主函數(shù)main的定義。一個Integers對象就是一個整數(shù)的集合,其中包含0個或多個可重復(fù)的整數(shù)。成員函數(shù)add的作用是將一個元素添加到集合中,成員函數(shù)remove的作用是從集合中刪除指定的元素(如果集合中存在該元素),成員函數(shù)sort的作用是將集合中的整數(shù)按升序進(jìn)行排序。請編寫這個sort函數(shù)。此程序的正確輸出結(jié)果應(yīng)為:528245327527663152824532752766316528245327527663161952845327527663161952845327527663161942344556192728316675要求:補充編制的內(nèi)容寫在“********333********”與“//********666********”之間。不得修改程序的其他部分。注意:相關(guān)文件包括:main.cpp、Integers.h。程序最后調(diào)用writeToFile函數(shù),使用另一組不同的測試數(shù)據(jù),將不同的運行結(jié)果輸出到文件out.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為obj文件。//Integers.h{}ifndefINTEGERS#defineINTEGERS#include<iostream>usingnamespacestd;constintMAXELEMENTS=100;//集合最多可擁有的元素個數(shù)classIntegers{intelem[MAXELEMENTS];//用于存放集合元素的數(shù)組intcounter;//用于記錄集合中元素個數(shù)的計數(shù)器public:Integers():counter(0){}//創(chuàng)建一個空集合Integers(intdata[],intsize);//利用數(shù)組提供的數(shù)據(jù)創(chuàng)建一個整數(shù)集合voidadd(intelement);//添加一個元素到集合中voidremove(intelement);//刪除集合中指定的元素intgetCount()const{returncounter;)//返回集合中元素的個數(shù)intgetElement(inti)const{returnelem[i];)//返回集合中指定的元素voidsort();//將集合中的整數(shù)按由小到大的次序進(jìn)行排序voidshow()const;//顯示集合中的全部元素};voidwriteToFile(constchar*path);#endif//main.cpp#include"Integers.h"#include<iomanip>Integers∷Integers(intdata[],intsize):counter(o){for(inti=0;i<size;i++)add(data[i]);}voidIntegers∷add(intelement){if(counter<MAXELEMENTS)elem[counter++]=element;}voidIntegers∷remove(intelement){intj;for(j=counter-1;j>=0;j--)if(elem[j]==element)break;for(inti=j(luò);i<counter-1;i++)elem[i]=elem[i+1];counter--;}voidIntegers∷sort(){//********333********//********666********}voidIntegers∷show()const{for(inti=0;i<getCount();i++)cout;<<setw(4)<<getElemerit;(i);cout;<<end1;}intmain(){intd[]={5,28,2,4,5,3,2,75,27,66,31);Integerss(d,11);s.show();s.a(chǎn)dd(6);s.show();s.a(chǎn)dd(19);s.show();s.remove(2);s.show();s.a(chǎn)dd(4);s.show();s.sort();s.show();writeToFile("");return0;}標(biāo)準(zhǔn)答案:for(inti=0;i<counter;i++)/7遍歷數(shù)組elemfor(intj=counter-1;j>i;j--)//從最后一位到i到前一位遍歷elemif(elem[i]>elem[j])//如果elem[i]大于elem[j],則兩值替換{inttemp=elem[i];//定義整形變量temp并賦值為elem[i];elem[i]=elem[j];//給elem[i]賦值elem[i]elem[j]=temp;//給elem[j]賦值temp}知識點解析:暫無解析國家二級C++機試(操作題)模擬試卷第2套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開考生文件夾下的源程序文件modil.cpp,該程序運行時有錯誤,請改正程序中的錯誤。本程序要求實現(xiàn)的功能為:從鍵盤輸入一個字符串,并將結(jié)果保存到文件modil.txt中。注意:不要改動main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu),錯誤的語句在//********error********的下面。1#include2#include3//********error********4usingstd;5voidWriteFile(char*s)6{7ofstreamoutl;8//********error********9outl.open(”modil.txt”,binary|app);10for(inti=0;s[i]!=0;i++)11{12//********error********13outl.puts(s[i]);14}15outl.close();16}17voidClearFile()18{19ofstreamoutl;20outl.open(”modil.txt”);21outl.close();22}23intmain()24{25chars[1024];26ClearFile();27cout<<"pleaseinputastring:"<標(biāo)準(zhǔn)答案:(1)usingnamespacestd;(2)outl.open("modil.txt",ios::binary|ios::app);(3)outl.put(s[i]);知識點解析:程序要求從鍵盤輸入一個字符串,并將結(jié)果保存到文件modil.txt中。從已給定源程序的main主函數(shù)開始入手,main主函數(shù)首先調(diào)用ClearFile函數(shù)打開文件,然后調(diào)用WriteFile函數(shù)將字符串寫入文件。[解題思路](1)第1個標(biāo)識下的“usingstd;”是在程序中引入標(biāo)準(zhǔn)命名空間std,對于C++中引入標(biāo)準(zhǔn)命名空間的格式,缺少namespace,所以第1個標(biāo)識下的語句修改為“usingnamespacestd;”。(2)第2個標(biāo)識下,調(diào)用成員函數(shù)open中,輸入輸出方式是在ios類中定義的,所以“outl.open(”modil.txt”.binary[app);”語句缺少類ios,即第2個標(biāo)識下的語句修改為“outl.open("modil.txt".ios::binarylios::app);”。(3)第3個標(biāo)識應(yīng)該用流成員函數(shù)put輸出字符,所以第3個標(biāo)識下的語句修改為“outl.put(s[i]);”。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開考生文件夾下的源程序文件modi2.cpp。完成函數(shù)fun(char*str,char*s)空出部分。函數(shù)fun(char*str,char*s)的功能是:將在字符串str中下標(biāo)為偶數(shù)位置上的字符,緊隨其后重復(fù)出現(xiàn)一次,放在一個新串s中,s中字符按原字符串中字符的順序排列。(注意O為偶數(shù))例如:當(dāng)s仃中的字符串為:"abcdef"時,s中的字符串應(yīng)為:"aaccee"。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。1#include2voidfun(char*str,chars)3{45}6voidmain()7{8charstr[100],s[100];9cout<<”Pleaseenterstringstring:”<標(biāo)準(zhǔn)答案:1inti;2for‘(i=0;str[i]!=0;i++)//循環(huán)判斷每一個字符3{4if(i%2==o)//判斷字符串中下標(biāo)為偶數(shù)位置5{6s[i]=str[i];7s[i+1]=str[i];8s[i+2]=’\0’;//新串添加尾符9}10}知識點解析:(1)該程序功能是找出在字符串中下標(biāo)為偶數(shù)位置上的字符,緊隨其后重復(fù)出現(xiàn)一次,放在一個新串。它的解題思路,解題過程利用if條件判斷表達(dá)式選擇符合條件的字符,然后將符合條件的字符放入指定的字符串。(2)從已給部分源程序的main主函數(shù)開始入手,核心函數(shù)voidfun(char*str,char*s)中的str參數(shù)為輸入的字符串,其中s為新串。[解題思路](1)判斷一個字符串中的某一字符下標(biāo)i是否為偶數(shù),可用“i%2==0”來判斷。(2)對串str中各個字符串逐個進(jìn)行考查,滿足條件的字符就順序放在新串s中,否則就不存放。(3)所有字符處理完后,記得在新串s的末尾加上結(jié)束符“’\0’”。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開考生文件夾下的源程序文件modi3.cpp。其中定義的類并不完整,按要求完成下列操作,將類的定義補充完整。(1)對文件以追加的方式打開文件。請在注釋//料料料料1料料料料后添加適當(dāng)?shù)恼Z句。(2)定義m、n為類TestClass的公有int型數(shù)據(jù)成員,請在注釋//********2********后添加適當(dāng)?shù)恼Z句。(3)定義P為類TestClass的數(shù)據(jù)成員指針,并指向類TestClass數(shù)據(jù)成員m,請在注釋********3********后添加適當(dāng)?shù)恼Z句。(4)定義P指向類TestClass數(shù)據(jù)成員n,請在注釋//料料料料4料料料料后添加適當(dāng)?shù)恼Z句。注意:增加代碼,或者修改代碼的位置已經(jīng)用符號表示出來。請不要修改其他的程序代碼。1#include2#include3#include4#include5usingnamespacestd;6voidWriteFile(intx)7{8ofstreamoutl;9//********1********10outl.open("modi3.txt",);11outl<標(biāo)準(zhǔn)答案:(1)將“outI.open("modi3.txt",);”補充完整為:outl.open("modi3.txt”,los_base::app);(2)添加語句:intm,n;(3)添加語句:intTestClass::*p=&(TestClasS::m);(4)添加語句:P=&(TestClasS::n);知識點解析:在VC環(huán)境下打開程序,根據(jù)題干給出的幾條功能要求,對程序中給出注釋下的內(nèi)容逐個補全或修改。從已定源程序的main主函數(shù)開始入手,可以看出程序通過調(diào)用類TestClass和函數(shù)ClearFile()實現(xiàn)各種輸出操作。[解題思路](1)題目1要求“對文件以追加的方式打開文件”。文件輸出輸入方式的設(shè)置值,以ios::app方式是以輸出方式打開文件,寫入的數(shù)據(jù)添加在文件末尾,即第1個標(biāo)識下語句補全為“outl.open("modi3.txt",ios_base::app);"。(2)題目2要求“定義m、n為類TestClass的公有int型數(shù)據(jù)成員”。只需在程序中的TestClass類中的public區(qū)域添加m、n的定義即可。即在第2個標(biāo)識下添加“intm,n;”。(3)題目3要求“定義P為類TestClass的數(shù)據(jù)成員指針,并指向類TestClass數(shù)據(jù)成員m”。程序中類TestClass數(shù)據(jù)成員m為:TestClass::m,定義P為類TestClass的數(shù)據(jù)成員指針語句為:TestClass::*p,將其指向前面的數(shù)據(jù)成員m,即為“intTestClass::*p=&(TestClass::m);”。(4)題目4要求“定義P指向類TestClass數(shù)據(jù)成員n”。類TestClass數(shù)據(jù)成員n語句為TestClass::n,用P指向類TestClass數(shù)據(jù)成員n,添加的語句即“p=&(TestClass::n);”。國家二級C++機試(操作題)模擬試卷第3套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,該工程中包含程序文件main.cpp,其中有類Foo和主函數(shù)main的定義。程序中位于每個“//ERROR****found****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)該是:X=aY=42注意:只修改每個“//ERROR*********found*********”下的那一行,不要改動程序中的其他內(nèi)容。#includeusingnamespacestd;classFoo{public:Foo(charx){x=x;}chargetX()const{returnx;}public:staticinty_;private:charx;};//ERROR*********found*********intFoo.y_=42;intmain(intargc,char*argV[]){//ERROR*********found*********Foof;//ERROR*********found*********tout;<<"X="<標(biāo)準(zhǔn)答案:(1)intFoo::y_=42;(2)Foof(’a’);(3)cout<<"X="<知識點解析:(1)主要考查考生對靜態(tài)成員的掌握,因為靜態(tài)整型變量y_是Foo類的公有成員,所以給y_賦值時要加上“Foo::”,即intFoo::y_=42;。(2)主要考查考生對構(gòu)造函數(shù)的掌握,題目要求程序輸出:X=aY=42可以知道,在給Foo類的f聲明時要同時初始化為字符a,即語句Foof(’a’);。(3)主要考查考生對成員函數(shù)的掌握,因為x是類Foo的私有成員,所以不能在main函數(shù)中直接調(diào)用,要通過公有成員函數(shù)getX()調(diào)用。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,其中有矩陣基類MatrixBase、矩陣類Matrix和單位陣UnitMatrix的定義,還有main函數(shù)的定義。請在橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:123452345634567100000010000001000000100000010000001注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****found****”。#1ncludeusingnamespacestd;//矩陣基礎(chǔ)類,一個抽象類classMatrixBase{introws,cols;public:MatrixBase(introws,intcols):rows(rows),cols(cols){}intgetRows()const{returnrows;}//矩陣行數(shù)intgetCols()const{returncols;}//矩陣列數(shù)virtualdoublegetElement(intr,intc)const=0;//取第i個元素的值voidshow()const{//分行顯示矩陣中所有元素for(inti=0;ishow();deletem;tout<show();deletem;return0;}標(biāo)準(zhǔn)答案:(1)get:Element(i,j)(2)MatrixBase(rows,cols)(3)newdouble[rows*cols](4)r==c知識點解析:(1)主要考查考生對純虛函數(shù)的掌握,函數(shù)功能是分行顯示矩陣中所有元素。因此在這里要輸出行為i、列為j的元素,使用純虛函數(shù)getElement(i,j)實現(xiàn),輸出語句為cout<三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用VC6或使用【答題】菜單打開考生目錄proj3下的工程文件proj3,其中定義了用于表示特定數(shù)制的數(shù)的模板類Number和表示一天中的時間的類TimeOfDay;程序應(yīng)當(dāng)顯示:01:02:03.00406:04:06.021但程序中有缺失部分,請按照以下的提示,把缺失部分補充完整:(1)在“//**1*******found****”的下方是一個定義數(shù)據(jù)成員seconds的語句,seconds用來表示“秒”。(2)在“//**2******found****”的下方是函數(shù)advanceSeconds中的一個語句,它使時間前進(jìn)k秒。(3)在“//**3******found****”的下方是函數(shù)advance中的一個語句,它確定增加k后n的當(dāng)前值和進(jìn)位,并返回進(jìn)位。例如,若n的當(dāng)前值是表示時間的55分,增加10分鐘后當(dāng)前值即變?yōu)?分,進(jìn)位為1(即1小時)。注意:只在指定位置編寫適當(dāng)代碼,不要改動程序中的其他內(nèi)容,也不要刪除或移動“****found****”。填寫的內(nèi)容必須在一行中完成,否則評分將產(chǎn)生錯誤。//proj3.cpp#include#includeusingnamespacestd;template//數(shù)制為base的數(shù)classNumber{intn;//存放數(shù)的當(dāng)前值public:Number(inti)-n(i){}//i必須小于baseintadvance(intk);//當(dāng)前值增加k個單位intvalue()const{returnn;}//返回數(shù)的當(dāng)前值};classTimeOfDay{public:Number<24>hours;//小時(0~23)Number<60>minutes;//分(0~59)//**1*********found*******________;//秒(0~59)Number<1000>milliseconds;//毫秒(0~999)TimeOfDay(inth=0,intm=0,ints=0,intmilli=0):hours(h),minutes(m),seconds(s),milliseconds(milli){}voidadvanceMillis(intk){advanceSeconds(milliseconds.a(chǎn)dvance(k));}//前進(jìn)k毫秒voidadvanceSeconds(intk)//前進(jìn)k秒{//**2*********found*******__________;}voidadvanceMinutes(intk){advanceHour(minutes.a(chǎn)dvance(k));}//前進(jìn)k分鐘voidadvanceHour(intk){hours.a(chǎn)dvance(k);}//前進(jìn)k小時voidshow()const{//按“小時:分:秒.毫秒”的格式顯示時間intc=cout.fill(’0’);//將填充字符設(shè)置為’0’cout<intNumber::advance(intk){n+=k;//增加k個單位ints=0;//s用來累計進(jìn)位//**3*********found*******while(n>=base)________//n到達(dá)或超過base即進(jìn)位returns;//返回進(jìn)位}intmain(){TimeOfDaytime(1,2,3,4);//初始時間:1小時2分3秒4毫秒time.show();//顯示時間time.a(chǎn)dvanceHour(5);//前進(jìn)5小時time.a(chǎn)dvanceSeconds(122);//前進(jìn)122秒(2分零2秒)time.a(chǎn)dvanceMilliS(1017);//前進(jìn)1017毫秒(1秒零17毫秒)cout<標(biāo)準(zhǔn)答案:(1)Number<60>seconds(2)advanceMinutes(seconds.a(chǎn)dvance(k))(3){s++;n-=base;}知識點解析:(1)主要考查考生對模板類的掌握,這里是一個定義數(shù)據(jù)成員seconds的語句,seconds用來表示“秒”,可以根據(jù)小時、分、毫秒的定義形式填寫,即Number<60>seconds。(2)主要考查考生對成員函數(shù)的掌握,此處是函數(shù)advanceSeconds中的一條語句,它使時間前進(jìn)k秒。將前后語句進(jìn)行對比,可以知道應(yīng)該填入語句advanceMinutes(seconds.a(chǎn)dvance(k))。(3)考查while循環(huán)語句,此處是函數(shù)advance中的一條語句,它確定增加k后n的當(dāng)前值和進(jìn)位,并返回進(jìn)位。變量s表示累加進(jìn)位,當(dāng)n到達(dá)或超過base即進(jìn)位,進(jìn)位時s要自加1,因此為{s++;n-=base}。國家二級C++機試(操作題)模擬試卷第4套一、基本操作題(本題共1題,每題1.0分,共1分。)1、下列給定程序中,函數(shù)fun的功能是:在形參s所指字符串中的每個數(shù)字字符之后插入一個*號。例如,形參s所指的字符串為“det35adh3kjsdf7”,執(zhí)行后結(jié)果為“det3*5*adh3*kjsdf7*”。請在程序的中括號處填入正確的內(nèi)容并將中括號刪除,使程序得出正確的結(jié)果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#includevoidfun(char*s){inti,j,n;for(i=0;s[i]!=’\0’;i++)/*********found*********/if(s[i]>=’0’【1】s[i]<=’9’){n=0;/*********found*********/while(s[i+1+n]!=【2】)n++;for(j=i+n+1;j>i;J--)/*********found*********/S[j+1]=【3】;S[j+1]=’*’;i=i+1;}}main(){chars[60]="def35adh3kjsdf7";printf("\nTheoriginalstringis:%s\n",s);fun(s);printf("\nTheresultis:%s\n",s);}標(biāo)準(zhǔn)答案:(1)&&(2)0或’\0’(3)s[j]或*(s+j)知識點解析:填空1:if語句中的條件是判斷是否為數(shù)字字符,數(shù)字字符的條件是大于等于“0”,同時小于等于“9”,因此需要使用邏輯與“&&”來連接。填空2:while語句判斷是否到達(dá)字符串的結(jié)尾,因此填入0(字符串結(jié)束標(biāo)識’\0’)。填空3:for語句使數(shù)字后的字符全都向后移一個單位,因此要使s[j+1]=s[j];。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、下列給定程序中函數(shù)fun的功能是:在字符串的最前端加入n個水號,形成新串,并且覆蓋原串。字符串的長度最長允許為79。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:部分源程序在文件NODII.C中,不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include#includevoidfun(chars[],intn){chara[80],*p;inti;/*********found*********/s=p;for(i=0,i標(biāo)準(zhǔn)答案:(1)p=s;(2)while(*p++);知識點解析:(1)指針p應(yīng)指向s,所以應(yīng)改為p=s;。(2)循環(huán)等待,當(dāng)while循環(huán)執(zhí)行一次,臨時變量p應(yīng)該指向字符串的下一位置,所以應(yīng)改為while(木p++);。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。請編寫函數(shù)fun,該函數(shù)的功能是:找出成績最低的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個最低分)。已給出函數(shù)的首部,請完成該函數(shù)。注意:部分源程序在文件PROGl.C中。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。試題程序:#include#include#include#include#defineN10typedefstructss{charnum[10];ints;}STU;fun(STUa[],STU*s){}voidmain(){FILE*wf;STUa[N]={{"A01",81},{"A02",89),{"A03",66),{"A04",87},{"A05",77),{"A06",90),{"A07",79),{"A08",61),{"A09",80),{"A10",71}},m;inti;system("CLS");printff("*****Theoriginaldata*****\n");for(i=0;i標(biāo)準(zhǔn)答案:fun(sTua[],STU*s){inti;*s=a[0];/*先認(rèn)為第1個值最小*/for(i=0;is>a[i].s)*s=a[i];}知識點解析:找出結(jié)構(gòu)體數(shù)組元素中的最小值。先認(rèn)為第1個值最小,即*s=a[0];,如果在循環(huán)的過程中發(fā)現(xiàn)比第1個值更小的,就將指針s指向該元素,直到找到最小元素。另外,本題還涉及結(jié)構(gòu)體中的指向運算符,請考生注意。國家二級C++機試(操作題)模擬試卷第5套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程projl,此工程中含有一個源程序文件proj1.cpp。其中位于每個注釋“//ERROR****found****”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結(jié)果為:ThevalReis:10注意:只修改注釋“//ERROR****found****”的下一行語句,不要改動程序中的其他內(nèi)容。//proj1.cpp#includeusingnamespacestd;classMember{//ERROR****found****private:Member(intval):value(val){}intvalue;};classMyClass{Memberm;public://ERROR********found********MyClass(intval){}intGetValue()const{returnm.value;}};intmain(){MyClass*obj=newMyClass(10);//ERROR********found********下列語句輸出obj指向類中的value值cout<<"Thevalueis:"<標(biāo)準(zhǔn)答案:(1)public:(2)MyClass(intval):_m(val){}或MyClass(intval){_m=val}(3)cout<<"Thevalueis:"<GetVahle()<知識點解析:(1)主要考查考生對私有成員和公有成員的掌握,先看改錯語句的下一條語句:Member(intval):value(val){},該語句是一個構(gòu)造函數(shù),因此我們可以得出此處為公有成員,因為構(gòu)造函數(shù)不可能是私有成員。(2)主要考查構(gòu)造函數(shù),構(gòu)造函數(shù)要對類的成員進(jìn)行初始化,因此在這里使用成員列表初始化,即MyClass(intval):_m(val){}或MyClass(intval){_m=val}。(3)指針調(diào)用類的成員函數(shù)時,應(yīng)使用標(biāo)識符“->”。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,其中有整數(shù)棧類IntList、順序棧類SeqList和鏈接棧類LinkList的定義。請在程序中的橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:4631846318注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動//“****found****”。#includeusingnamespacestd;classIntStack{//整數(shù)棧類public:virtualvoidpush(int)=0;//入棧virtualintpop()=0;//出棧并返回出棧元素virtualinttopElement()const=0;//返回棧頂元素,但不出棧virtualboolisEmpty()const=0;//判斷是否??諁;classSeqStack:publicIntStack{intdata[100];//存放棧元素的數(shù)組inttop;//棧頂元素的下標(biāo)public://**********found**********SeqStack():_________{)//把top初始化為-1表示??誺oidpush(intn){data[++top]=n;}//**********found**********intpop(){return_________;)inttopElement()const{returndata[top];)boolisEmpty()const{returntop=-1;}};StructNode{intdata;Node*next;};classLinkStack:publicIntStack{Node*top;public://**********found**********LinkStack():___________{)//把top初始化為NULL表示??誺oidpush(intn){Node*p=newNode;p->data=n;//**********found**********_________;top=p;}intpop(){intd=top->data;;top=top->next;returnd;}inttopElement()const{returntop->data;}boolisEmpty()const{returntop==NULL;}};voidpushData(IntStack&st){st.push(8);st.push(1);st.push(3);st.push(6);st.push(4);}voidpopData(IntStack&st){while(!st.isEmpty())cout<標(biāo)準(zhǔn)答案:(1)top(-1)(2)data[top-](3)top(NULL)(4)p->next=top知識點解析:(1)主要考查考生對構(gòu)造函數(shù)的掌握情況,先看語句注釋:把top初始化為-1表示棧空,即要把top賦值為-1即可。(2)主要考查考生對純虛函數(shù)的掌握情況,先看純虛函數(shù)在基類的注釋:出棧并返回出棧元素。要返回棧頂元素可以通過data[top]得到,出棧同時要使得top往下移動,即top--。(3)主要考查考生對構(gòu)造函數(shù)的掌握情況,先看語句注釋:把top初始化為NULL表示??眨虼耸褂贸蓡T列表初始化直接把top賦值為NULL即可。(4)主要考查考生對棧的掌握,push為人棧函數(shù),top指向棧頂元素,因此新添加的指針的next要指向top,即p->next=top;。三、綜合應(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)編譯為obj文件,并且在本程序中調(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ù)voidinfo_display();//人員信息顯示~Person();//析構(gòu)函數(shù)};voidwriteToFile(constchar*path);proj3.cpp#include#include#include"proj3.h"usingnamespacestd;voidPerson::name_change(char*name){strcpy(name,_name);}voidPerson::age_change(int_age){age=_age;}voidPerson.:address_change(char*add){if(address!=NULL)delete[]address;//*********333*********//*********666*********}voidPerson::info_display(){cout<標(biāo)準(zhǔn)答案:address=newchar[strlen(_add)+1];//給類成員變量動態(tài)分配空間strcpy(address,_add);//把字符串a(chǎn)dd復(fù)制給address知識點解析:函數(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或使用【答題】菜單打開考生文件夾proj1下的工程proj1,該工程中含有一個源程序文件proj1.cpp。其中位于每個注釋“//ERROR****found****”之后的一行語句有錯誤。請改正這些錯誤,使程序的輸出結(jié)果為:12345678910注意:只能修改注釋“//ERROR****found****”的下一行語句,不要改動程序中的其他內(nèi)容。//proj1.cpp#includeusingnamespacestd;classMyClass{public:MyClass(intlen){array=newint[len];arraySize=len;for(inti=0;i標(biāo)準(zhǔn)答案:delete[]array;cout<知識點解析:(1)語法錯誤,使用delete語句刪除一個指針時,直接把指針變量的名稱放在delete[]后面即可。(2)考查考生對輸入、輸出語句的運用。使用cout進(jìn)行數(shù)據(jù)輸出操作,一般格式為:cout<>var;。其中,var代表一個變量,“>>”稱為提取運算符,該語句的含義是,將用戶輸入的數(shù)據(jù)保存到var中。(3)考查語句的初始化,我們來看MyClass類的構(gòu)造函數(shù):MyClass(intfen){array=newint[1en];//給數(shù)組動態(tài)分配空間,大小為lenarraySize=len;//賦值for(inti=0;i二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2。其中有向量基類VeetorBase、向量類Vector和零向量類ZeroVector的定義。請在橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。該程序正確輸出結(jié)果應(yīng)為:(1,2,3,4,5)(0,0,0,0,0,0)注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****found****”。#includeusingnamespacestd;classVectorBase{//向量基類,一個抽象類intlen;public:VectorBase(intlen):len(len){)intlength()const{returnlen;)//向量長度,即向量中元素的個數(shù)virtualdoublegetElement(inti)const=0;//取第i個元素的值virtualdoublesum()const=0;//求所有元素的和voidshow()const{//顯示向量中所有元素cout<<"(";for(inti=0;ishow();deleteV;v=newZeroVector(6);v->show();deletev;return0;}標(biāo)準(zhǔn)答案:(1)getElement(length()-1)(2)delete[]val(3)s+=val[i](4)return0.0:知識點解析:(1)主要考查考生對成員函數(shù)的掌握,題目要求顯示最后一個元素。前面有純虛函數(shù)virtualdoublegetElement(inti)const=0,因此可以直接調(diào)用getElement函數(shù)來取得最后一個元素,注意最后一個元素位置是Length()-1而不是Length()。(2)主要考查考生對析構(gòu)函數(shù)的掌握,前面定義了類的私有成員*val,因此析構(gòu)函數(shù)要釋放val,使用de1ete語句完成。(3)主要考查考生對for循環(huán)的掌握,由函數(shù)名doublesum()const可知,該函數(shù)要求元素之和,for循環(huán)語句的作用是遍歷整個數(shù)組,在此使用語句s+=val[i]完成程序。(4)主要考查考生對成員函數(shù)的掌握,由該類的注釋:零向量類,可以了解到該類的元素都為零,因此無論要取第幾個元素都返回0,由于數(shù)據(jù)類型為double,所以為return0.0。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中定義的Matrix是一個用于表示矩陣的類。成員函數(shù)max_value的功能是求出所有矩陣元素中的最大值。例如,若有3×3矩陣則調(diào)用max_value函數(shù),返回值為3。請編寫成員函數(shù)max_value。要求:補充編制的內(nèi)容寫在“//********333********”與“//********666********”之間,不得修改程序的其他部分。注意:程序最后將結(jié)果輸出到文件out.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為obj文件,并且在本程序中調(diào)用。//Matrix.h#include#includeusingnamespacestd;constintM=18;constintN=18;classMatrix{intarray[M][N];public:Matrix(){}intgetElement(inti,intj)const{returnarray[i][j];}voidsetElement(inti,intj,intvalue){array[i][j]=value;}intmaxvalue()const;voidshow(constchar*s)const{cout<voidreadFromFile(constchar*f,Matrix&m){ifstreaminfile(f);if(infile.fail()){cerr<<"打開輸入文件失敗!";return;}intk;for(inti=0;i>k;m.setElement(i,j,k);}}intMatrix::maxvalue()const{//***********333***********//***********666***********}intmain(){Matrixm;readFromFile("",m);m.show("Matrix:");cout<標(biāo)準(zhǔn)答案:inttemp=0;//定義整數(shù)變量temp,并賦值為零for(inti=0;i知識點解析:主要考查考生對二維數(shù)組的掌握,題目要求成員函數(shù)max_value的功能是求出所有矩陣元素中的最大值。因此只要逐個元素比較即可,下標(biāo)i和j作為矩陣行和列的標(biāo)記,使用雙層for循環(huán)來遍歷數(shù)組中的所有元素。國家二級C++機試(操作題)模擬試卷第7套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1。該工程中包含程序文件main.cpp,其中有類CDate(“日期”)和主函數(shù)main的定義。程序中位于每個“//ERROR****found****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)為:原日期:2005-9-25更新后的日期:2006-4-1注意:只修改每個“//ERROR****found****”下的那一行,不要改動程序中的其他內(nèi)容。1#iFtC2ude2#iD.Clude3usingrnamespacestd;45classCDate//日期類6{7//ERROR*********found*********8protected:9CDate(){};10CDate(intd,intm,inty)11{12//ERROR*********found*********13SetDate(intday=d,intmonth=m,intyear=y);14};15voidDisplay();//顯示日期16voidSet:Date(intday,intmonth,intyear)17//設(shè)置日期18{m_nDay=day;mnMonth=month;mnYear=year;}19private:20intm_nDay;//日21int_mnMonth;//月22intm_nYear;//年23};2425voidCDate::Display()//顯示日期26{27//ERROR*********found*********28cout<標(biāo)準(zhǔn)答案:(1)public:(2)SetDate(d,m,y);(3)tout<知識點解析:(1)通過主函數(shù)中成員函數(shù)的調(diào)用可知這里應(yīng)該為公有成員,而且構(gòu)造函數(shù)必須為公有繼承。(2)主要考查考生對成員函數(shù)的掌握,程序在這里調(diào)用成員函數(shù)SetDate,直接把形參代入即可。(3)題目要求輸出原日期:2005-9-25??梢灾垒敵鲰樞驗椋合容敵瞿?,其次月,最后是日。二、簡單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個程序文件main.epp,其中有日期類Date、人員類Person及排序函數(shù)sortByName和主函數(shù)main的定義。請在程序中的橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義和函數(shù)定義。此程序的正確輸出結(jié)果應(yīng)為:按姓名排序排序前張三男出生日期:1978年4月20日王五女出生日期:1965年8月3日楊六女出生日期:1965年9月5日李四男出生日期:1973年5月30日排序后:李四男出生日期:1973年5月30日王五女出生日期:1965年8月3日楊六女出生13期:1965年9月5日張三男出生日期:1978年4月20日注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****found****”。1#include2usingnamespacestd;3classDate{//日期類4intyear,month,day;//年、月、日5public:6Date(intyear,intmonth,intday):year(year),month(month),day(day){)7intgetYear()const{returnyear;}8intgetMonth()const{returnmonth;}9intgetDay()const{returnday;}10};11classPerson{//人員類12charname[14];//姓名13boolismale;//性別,為true時表示男性14Datebirthdate;//出生日期15public:16Person(char*name,boolis_male,Datebirth_date)17//**********found**********18:_______19{20strcpy(this->name,name);21}22constchar*getName()const{re-turnname;}23boolisMale()const{returnismale;}24DategetBirthdate()const{returnbirth_date;}25//利用strcmp()函數(shù)比較姓名,返回一個正數(shù)、0或負(fù)數(shù),分別表示大于、等于、小于26intcompareName(constPerson&p)const{27//**********found**********28________;29voidshow(){30cout<i){46Personp=ps[m];47ps[m]=ps[i];48ps[i]=P;49}50}51}5253intmain(){54Personstaff[]={55Person("張三",true,Date(1978,4,20)),56Person("王五",false,Date(1965,8,3)),57Person("楊六",false,Date(1965,9,5)),58Person("李四",true,Date(1973,5,30))59};60constintsize=sizeof(staff)/si-zeof(staff[0]);61inti;62cout<標(biāo)準(zhǔn)答案:(1)is_male(is_male),birth_date(birth_date)(2)returnstrcmp(name,p.getName());(3)<知識點解析:(1)主要考查考生對構(gòu)造函數(shù)的掌握,由函數(shù)體內(nèi)strcpy(this->name,name);可知,要使用成員列表初始化的成員為is_male和birth_date。(2)主要考查考生對strcmp()函數(shù)的掌握,先看程序?qū)υ摵瘮?shù)的功能要求:利用strcmp()函數(shù)比較姓名,返回一個正數(shù)、0或負(fù)數(shù),分別表示大于、等于、小于。因為trcmp()函數(shù)的功能是比較字符串大小,因此可以直接被return語句調(diào)用:returnstrcmp(name,p.getName());。(3)主要考查考生對成員函數(shù)的掌握,程序的注釋為:顯示出生月,由此可以知道這里要輸出出生月份,直接調(diào)用函數(shù)getMonth()即可。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、請使用VC6或使用【答題】菜單打開考生目錄proj3下的工程文件proj3,該文件中定義了用于表示日期的類Date、表示人員的類Person和表示職員的類Staff;程序應(yīng)當(dā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進(jìn)行初始化。注意:只在指定位置編寫適當(dāng)代碼,不要改動程序中的其他內(nèi)容,也不要刪除或移動“****found****”。填寫的內(nèi)容必須在一行中完成,否則評分將產(chǎn)生錯誤。1//proj3.cpp2{}include3usingnamespacestd;4classPerson5{6char*idcardno;//用動態(tài)空間存儲的身份證號7char*name;//用動態(tài)空間存儲的姓名8boolismale;//性別:true為男,false為女9public:10Person(constchar*pid,constchar*pname,boolpmale);11~Person(){12//**1************found**********13________;14}15constchar*getIDCardNO()const{returnidcardno;}16constchar*getName()const{re-turnname;}17voidrename(constchar水newname);18boolisMale()const{returnismale;}};19classStaff:publicPerson20{21char*department;22doublesalary;23public:24Staff(constchar*id_card_no,constchar*p_name,boolis_male,constchar*dept,doublesal};25~Staff(){delete[]department;}26constchar*getDepartment()const{returndepartment;)27voidsetDepartment(constchar*d);28doublegetSalary()const{returnsalary;}29voidsetSalary(doubles){salary=s;}30;31Person::Person(constchar*idcard32no,constchar*p_name,boolismale):ismale(is_male)33{34idcardno=newchar[strlen(id_card_no)+1];35strcpy(idcardno,idcardno);36name=newchar[strlen(p_name)+1];37strcpy(name,p_name);38}39voidPemson::rename(constchar*new_name)40{41delete[]name;42//**2************found**********43_______;44strcpy(name,new_name);45}46Staff::Staff(constchar*idcardno,co
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣西工商職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年安徽商貿(mào)職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年四川建筑職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年唐山海運職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年南陽科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年共青團(tuán)考試題庫及答案
- 2025至2031年中國高性能小功率變頻器行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國硅膠線行業(yè)投資前景及策略咨詢研究報告
- 二零二五年度中式面館區(qū)域代理授權(quán)合同
- 2025年度知識產(chǎn)權(quán)歸屬及商業(yè)秘密保護(hù)合作協(xié)議
- 粵劇課程設(shè)計
- 《財務(wù)管理學(xué)(第10版)》課件 第5、6章 長期籌資方式、資本結(jié)構(gòu)決策
- 房屋永久居住權(quán)合同模板
- 初中英語不規(guī)則動詞表(譯林版-中英)
- 2024年3月四川省公務(wù)員考試面試題及參考答案
- 新生兒黃疸早期識別課件
- 醫(yī)藥營銷團(tuán)隊建設(shè)與管理
- 二年級數(shù)學(xué)上冊口算題100道(全冊完整)
- 冷軋工程專業(yè)詞匯匯編注音版
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡歷
- 第一單元(金融知識進(jìn)課堂)課件
評論
0/150
提交評論