微軟研究院筆試題目附參考答案_第1頁
微軟研究院筆試題目附參考答案_第2頁
微軟研究院筆試題目附參考答案_第3頁
微軟研究院筆試題目附參考答案_第4頁
微軟研究院筆試題目附參考答案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、微軟研究院筆試題目附參考答案1改錯(cuò)#include <stdio.h>#include <String.h>class CBufferchar * m_pBuffer;int m_size;public:CBuffer()m_pBuffer=NULL;CBuffer()Free();void Allocte(int size) (3) m_size=size;m_pBuffer= new charsize;private:void Free() if(m_pBuffer!=NULL)delete m_pBuffer;m_pBuffer=NULL;public:void

2、SaveString(const char* pText) conststrcpy(m_pBuffer, pText);char* GetBuffer() constreturn m_pBuffer;void main (int argc, char* argv)CBuffer buffer1;buffer1.SaveString("Microsoft");printf(buffer1.GetBuffer();答:改正后主要改正SaveString函數(shù)將void SaveString(const char* pText) conststrcpy(m_pBuffer, pTe

3、xt);改為void SaveString(const char* pText) (1)Allocte(strlen(pText)+1); (2)strcpy(m_pBuffer, pText);原因:(1) const成員函數(shù)表示不會(huì)修改數(shù)據(jù)成員,而SaveString做不到,去掉const聲明(2) m_pBuffer指向NULL,必須用Allocte分配空間才能賦值。(3) 另外需要將Allocte成員函數(shù)聲明為私有成員函數(shù)更符合實(shí)際2.下來程序想打印“Welcome MSR Asia”,改正錯(cuò)誤#include <stdio.h>#include <string.h&

4、gt;char * GetName (void)/To return “MSR Asia” Stringchar name="MSR Asia"return name;void main(int argc, char* argv)char name32;/Fill in zeros into namefor(int i=0;i<=32;i+)namei='0'/copy “Welcome” to namename="Welcome"/Append a blank charname8=" "/Append stri

5、ng to namestrcat(name,GetName();/print outprintf(name);答:改正后為#include <stdio.h>#include <string.h>char * GetName (void)/To return “MSR Asia” String/char name="MSR Asia" (1) char *name=(char *)malloc(strlen("MSR Asia")+1); strcpy(name,"MSR Asia");return name;

6、void main(int argc, char* argv)char name32;/Fill in zeros into namefor(int i=0;i<=32;i+)namei='0'/copy “Welcome” to name/name="Welcome" (2)strcat(name,"Welcome ");/Append a blank char/ name8=' ' (3)/Append string to namechar *p=GetName(); (4)strcat(name,p);free

7、 (p);/print outprintf(name);原因:(1)在函數(shù)內(nèi)部定義的變量在函數(shù)結(jié)束時(shí)就清空了,必須動(dòng)態(tài)分配內(nèi)存(2)字符串賦值語句錯(cuò)誤,應(yīng)該用strcat(3)該語句無效,可去掉(4)定義一個(gè)指針指向動(dòng)態(tài)分配的內(nèi)存,用完后需用free語句釋放3寫出下面程序的輸出結(jié)果#include <stdio.h>class Apublic:void FuncA()printf("FuncA calledn");virtual void FuncB()printf("FuncB calledn");class B: public Apubl

8、ic:void FuncA()A:FuncA();printf("FuncAB calledn");virtual void FuncB()printf("FuncBB calledn");void main(void)B b;A *pa;pa=&b;A *pa2=new A;b.FuncA(); (1)b.FuncB(); (2) pa->FuncA(); (3)pa->FuncB(); (4)pa2->FuncA(); (5)pa2->FuncB();delete pa2;答:1b.FuncA(); 輸出FuncA c

9、alledFuncAB called2b.FuncB();輸出FuncBB called上兩者好理解,直接調(diào)用類B的相應(yīng)成員函數(shù)3pa->FuncA();輸出FuncA called 調(diào)用類A的FuncA()4pa->FuncB();輸出FuncBB called調(diào)用類B的FuncB(),原因是C+的動(dòng)態(tài)決議機(jī)制,當(dāng)基類函數(shù)聲明為virtual時(shí),指向派生類對(duì)象的基類指針來調(diào)用該函數(shù)會(huì)選擇派生類的實(shí)現(xiàn),除非派生類沒有才調(diào)用基類的虛函數(shù)。還有一點(diǎn)注意的是:指向基類類型的指針可以指向基類對(duì)象也可以指向派生類對(duì)象,如pa=&b;5. pa2->FuncA();pa2->

10、;FuncB();輸出FuncA calledFuncB called這也好理解,直接調(diào)用類A的相應(yīng)成員函數(shù)4In the main() function, after ModifyString(text) is called, whats the value of text?#include <stdio.h>#include <string.h>int FindSubString(char* pch)int count=0;char* p1=pch;while(*p1!='0')if(*p1=p11-1)p1+;count+;elsebreak;int count2=count;while(*p1!='0')if(*p1=p11+1)p1+;count2-;elsebreak;if(count2=0)return count;return 0;void ModifyString(char* pText)char* p1=pText;char* p2=p1;while(*p1!='0')int count=FindSubString(p1);if(count>0)*p2+=*p1;sprintf(p2, "%I", count);while(*p2!= '0&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論