(1912制作)微软笔试题

(1912制作)微软笔试题

ID:1629071

大小:116.00 KB

页数:38页

时间:2017-11-12

(1912制作)微软笔试题_第1页
(1912制作)微软笔试题_第2页
(1912制作)微软笔试题_第3页
(1912制作)微软笔试题_第4页
(1912制作)微软笔试题_第5页
资源描述:

《(1912制作)微软笔试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1912制作微软研究院是一个听起来就牛B的地方啊,反正我是进不去,不过不妨碍我看看他的笔试题到底是怎么样的。下面四道题就是微软研究院的笔试题目,题后附有我的解答。  微软研究院(亚洲)的网址是:http://research.microsoft.com/asia/1.改错#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函数将voidSaveString(constchar*pText)const{strcpy(m_pBuffer,pText);}改为voidSaveString(constchar*pText)(1){Allocte(strlen(pText)+1);(2)strcpy(m_pBuffer,pText);}原因:(1)const成员函数表示不会修改数据成员,而SaveString做不到,去掉const声明(2)m_pBuffer指向N

4、ULL,必须用Allocte分配空间才能赋值。(3)另外需要将Allocte成员函数声明为私有成员函数更符合实际2.下来程序想打印“WelcomeMSRAsia”,改正错误#include#includechar*GetName(void){//Toreturn“MSRAsia”Stringcharname[]="MSRAsia";returnname;}voidmain(intargc,char*argv[]){charname[32];//Fillinzerosintonamefor(inti=0;i<=32;i++)

5、{name[i]='';}//copy“Welcome”tonamename="Welcome";//Appendablankcharname[8]="";//Appendstringtonamestrcat(name,GetName());//printoutprintf(name);}答:改正后为#include#includechar*GetName(void){//Toreturn“MSRAsia”String//charname[]="MSRAsia";(1)char*name=(char*)malloc(s

6、trlen("MSRAsia")+1);strcpy(name,"MSRAsia");returnname;}voidmain(intargc,char*argv[]){charname[32];//Fillinzerosintonamefor(inti=0;i<=32;i++){name[i]='';}//copy“Welcome”toname//name="Welcome";(2)strcat(name,"Welcome");//Appendablankchar//name[8]='';(3)//Appendstringtonamechar*p=Get

7、Name();(4)strcat(name,p);free(p);//printoutprintf(name);}原因:(1)在函数内部定义的变量在函数结束时就清空了,必须动态分配内存(2)字符串赋值语句错误,应该用strcat(3)该语句无效,可去掉(4)定义一个指针指向动态分配的内存,用完后需用free语句释放3.写出下面程序的输出结果#includeclassA{public:voidFuncA(){printf("FuncAcalled");}virtualvoidFuncB(){printf("FuncBcalled");}

8、};classB:publicA{pu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。