版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量承諾書范文匯編(32篇)
- 幼兒園畢業(yè)典禮園長(zhǎng)講話稿
- 廣州版四年級(jí)英語上冊(cè)全冊(cè)教案
- 2023-2024學(xué)年廣東省深圳市八年級(jí)(下)期中英語試卷
- 上海市市轄區(qū)(2024年-2025年小學(xué)五年級(jí)語文)人教版小升初模擬(上學(xué)期)試卷及答案
- 一年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題集錦
- 高二歷史會(huì)考必修三復(fù)習(xí)教案
- 《電氣控制系統(tǒng)設(shè)計(jì)與裝調(diào)》教案 項(xiàng)目八 任務(wù)二:?jiǎn)蜗蚱饎?dòng)反接制動(dòng)控制線路設(shè)計(jì)安裝與維修
- 山東省濟(jì)寧市金鄉(xiāng)縣多校2024-2025學(xué)年三年級(jí)上學(xué)期月考語文試卷
- 湖南省湘潭市雨湖區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期11月期中考試化學(xué)試題(含答案)
- 2024年事業(yè)單位體檢告知書
- 廣東省2024年中考數(shù)學(xué)試卷(含答案)
- 2024年新人教版七年級(jí)上冊(cè)生物全冊(cè)知識(shí)點(diǎn)復(fù)習(xí)資料(新教材)
- 2023年湖北省恩施州中考?xì)v史真題(原卷版)
- 2024年全國職業(yè)院校技能大賽中職組(短視頻制作賽項(xiàng))選拔賽試題庫(含答案)
- 土木工程施工設(shè)計(jì)報(bào)告
- 《唱歌 洋娃娃和小熊跳舞(簡(jiǎn)譜、五線譜)》課件
- 2024年歷年專業(yè)英語四級(jí)考試真題及答案
- 2024年職稱評(píng)審表
- 四川省高職單招汽車類《汽車機(jī)械基礎(chǔ)》復(fù)習(xí)備考試題庫(含答案)
- 漏洞掃描報(bào)告模板
評(píng)論
0/150
提交評(píng)論