(1912制作)微軟筆試題

(1912制作)微軟筆試題

ID:1629071

大小:116.00 KB

頁數(shù):38頁

時(shí)間:2017-11-12

(1912制作)微軟筆試題_第1頁
(1912制作)微軟筆試題_第2頁
(1912制作)微軟筆試題_第3頁
(1912制作)微軟筆試題_第4頁
(1912制作)微軟筆試題_第5頁
資源描述:

《(1912制作)微軟筆試題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、1912制作微軟研究院是一個(gè)聽起來就牛B的地方啊,反正我是進(jìn)不去,不過不妨礙我看看他的筆試題到底是怎么樣的。下面四道題就是微軟研究院的筆試題目,題后附有我的解答?! ∥④浹芯吭海▉喼蓿┑木W(wǎng)址是:http://research.microsoft.com/asia/1.改錯(cuò)#include#includeclassCBuffer{char*m_pBuffer;intm_size;public:CBuffer(){m_pBuffer=NULL;}~CBuffer(){Free();}voidAllocte(intsize)(3

2、){m_size=size;m_pBuffer=newchar[size];}private:voidFree(){if(m_pBuffer!=NULL){deletem_pBuffer;m_pBuffer=NULL;}}public:voidSaveString(constchar*pText)const{strcpy(m_pBuffer,pText);}char*GetBuffer()const{returnm_pBuffer;}};voidmain(intargc,char*argv[]){CBufferbuffer1;buffer1.SaveStrin

3、g("Microsoft");printf(buffer1.GetBuffer());}答:改正后主要改正SaveString函數(shù)將voidSaveString(constchar*pText)const{strcpy(m_pBuffer,pText);}改為voidSaveString(constchar*pText)(1){Allocte(strlen(pText)+1);(2)strcpy(m_pBuffer,pText);}原因:(1)const成員函數(shù)表示不會(huì)修改數(shù)據(jù)成員,而SaveString做不到,去掉const聲明(2)m_pBuffer指向N

4、ULL,必須用Allocte分配空間才能賦值。(3)另外需要將Allocte成員函數(shù)聲明為私有成員函數(shù)更符合實(shí)際2.下來程序想打印“WelcomeMSRAsia”,改正錯(cuò)誤#include#includechar*GetName(void){//Toreturn“MSRAsia”Stringcharname[]="MSRAsia";returnname;}voidmain(intargc,char*argv[]){charname[32];//Fillinzerosintonamefor(inti=0;i<=32;i++)

5、{name[i]='