



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、是一個聽起來就牛 B 的地方啊,反正我是進不去,不過微軟不妨礙我看看他的筆試題到底是怎么樣的。下面四道題就是微軟研究院的筆試題目,題后附有解答。微軟(亞洲)的是:/asia/1改錯#include #include class CBufferchar * m_pBuffer;m_size;public:CBuffer()m_pBuffer=NULL;CBuffer()Free();void Allocte(size) (3)m_size=size;m_pBuffer= new charsize;private:void Free()if(m_pBuffer!=NULL)delete m_pBu
2、ffer;m_pBuffer=NULL;public:void SaveString(const char* pText) conststrcpy(m_pBuffer, pText);char* GetBuffer() constreturn m_pBuffer;void main (argc, char* argv)CBuffer buffer1;buffer1.SaveString();prf(buffer1.GetBuffer();答:改正后主要改正 SaveString 函數(shù)將void SaveString(const char* pText) conststrcpy(m_pBuffe
3、r, pText);改為void SaveString(const char* pText) (1)Allocte(strlen(pText)+1); (2)strcpy(m_pBuffer, pText);原因:(1) const 成員函數(shù)表示不會修改數(shù)據成員,而 SaveString 做不到,去掉 const(2) m_pBuffer 指向 NULL,必須用 Allocte 分配空間才能賦值。(3) 另外需要將 Allocte 成員函數(shù)為私有成員函數(shù)更符合實際2.下來程序想打印“e Mia”,改正錯誤#include #include char * GetName (void)/To re
4、turn “Mia”Stringchar name=Mia;return name;void main(argc, char* argv)char name32;/Fill in zeroso namefor(i=0;i=32;i+)namei=0;/copy “e” to namename=e;/Append a blcharname8= ;/Append string to namestrcat(name,GetName();/proutprf(name);答:改正后為#include #include char * GetName (void)/To return “Mia”String
5、/char name=Mia; (1)char *name=(char *)malloc(strlen(Mia)+1);strcpy(name,Mia);return name;void main(argc, char* argv)char name32;/Fill in zeroso namefor(i=0;i=32;i+)namei=0;/copy “e” to name/name=e; (2)strcat(name,e );/Append a blchar/ name8= ;(3)/Append string to namechar *p=GetName(); (4)strcat(nam
6、e,p);free (p);/proutprf(name);原因:(1)在函數(shù)定義的變量在函數(shù)結束時就清空了,必須動態(tài)分配內存(2)字符串賦值語句錯誤,應該用 strcat(3)該語句無效,可去掉(4)定義一個指針指向動態(tài)分配的內存,用完后需用 free 語句3寫出下面程序的輸出結果#include class Apublic:void FuncA()prf(FuncA calledn);virtual void FuncB()prf(FuncB calledn);class B: public Apublic:void FuncA()A:FuncA();prf(FuncAB calledn)
7、;virtual void FuncB()prf(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 calledFuncAB called2b.FuncB();輸出FuncBB called上兩者好理解,直接調用類 B 的相應成員函數(shù)3pa-FuncA();輸出FuncA called 調用
8、類 A 的 FuncA()4pa-FuncB();輸出FuncBB called 調用類 B 的 FuncB(),原因是 C+的動態(tài)決議機制,當為 virtual 時,指向派生類對象的基類指針來調用該函數(shù)基類函數(shù)會選擇派生類的實現(xiàn),除非派生類沒有才調用基類的虛函數(shù)。還有一點注意的是:指向基類類型的指針可以指向基類對象也可以指向派生類對象,如 pa=&b;5. pa2-FuncA();pa2-FuncB();輸出FuncA calledFuncB called這也好理解,直接調用類 A 的相應成員函數(shù)4he main() function, after ModifyString(text) is
9、 called, whats thevalue of text?#include #include FindSubString(char* pch)count=0;char* p1=pch;while(*p1!=0)if(*p1=p11-1)p1+;count+;elsebreak;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)count=FindSubString(p1);if(count0)*p2+=*p1;sprf(p2, %I, count);while(*p2!= 0)p2+;p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《鄉(xiāng)土中國》整本書|閱讀教學
- 1.3運動的快慢說課稿 2025年初中 人教版物理八年級上冊
- 門票變更通知函
- 橡膠件行業(yè)研究報告
- 建議駐廠通知函
- 語文基礎知識-主謂賓定狀補
- 江蘇省鎮(zhèn)江市丹徒區(qū)高資教育集團四校聯(lián)考2024-2025學年七年級下學期3月月考英語試題(原卷版+解析版)
- 《商務英語筆譯》課件-第五模塊
- 長用設備及物資(防汛物資采購)投標方案(技術方案)
- 產品手冊設計參考
- 2025年合肥公交集團有限公司駕駛員招聘180人預筆試參考題庫附帶答案詳解
- 2025年蘇州市職業(yè)大學單招職業(yè)適應性測試題庫完美版
- (二模)2025年寶雞市高考模擬檢測試題(二)物理試卷(含答案)
- 營銷管理實踐總結報告
- 基地種植合作合同范本
- 露天煤礦安全生產技術露天煤礦安全管理培訓
- 2025年安徽警官職業(yè)學院單招職業(yè)傾向性測試題庫標準卷
- 2025年浙江寧波市江北區(qū)民政局招聘編外工作人員1人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- YB-T 6121-2023 鋼的晶間氧化深度測定方法
- 2025屆中交投資有限公司全球校園招聘來了筆試參考題庫附帶答案詳解
- 2025年中國科協(xié)所屬單位招聘19名應屆生歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
評論
0/150
提交評論