欢迎来到天天文库
浏览记录
ID:17585275
大小:100.00 KB
页数:38页
时间:2018-09-03
《(1912制作)微软笔试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1912制作微软研究院是一个听起来就牛B的地方啊,反正我是进不去,不过不妨碍我看看他的笔试题到底是怎么样的。下面四道题就是微软研究院的笔试题目,题后附有我的解答。 微软研究院(亚洲)的网址是:http://research.microsoft.com/asia/1.改错#include#includeclassCBuffer{char*m_pBuffer;intm_size;public:CBuffer(){m_pBuffer=NULL;}~CBuffer(){Free()
2、;}voidAllocte(intsize)(3){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(intar
3、gc,char*argv[]){CBufferbuffer1;buffer1.SaveString("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,p
4、Text);}原因:(1)const成员函数表示不会修改数据成员,而SaveString做不到,去掉const声明(2)m_pBuffer指向NULL,必须用Allocte分配空间才能赋值。(3)另外需要将Allocte成员函数声明为私有成员函数更符合实际2.下来程序想打印“WelcomeMSRAsia”,改正错误#include#includechar*GetName(void){//Toreturn“MSRAsia”Stringcharname[]="MSRAsia";r
5、eturnname;}voidmain(intargc,char*argv[]){charname[32];//Fillinzerosintonamefor(inti=0;i<=32;i++){name[i]=' ';}//copy“Welcome”tonamename="Welcome";//Appendablankcharname[8]="";//Appendstringtonamestrcat(name,GetName());//printoutprintf(name);}答:改正后为#include
6、tdio.h>#includechar*GetName(void){//Toreturn“MSRAsia”String//charname[]="MSRAsia";(1)char*name=(char*)malloc(strlen("MSRAsia")+1);strcpy(name,"MSRAsia");returnname;}voidmain(intargc,char*argv[]){charname[32];//Fillinzerosintonamefor(inti=0;i<=32;i++
7、){name[i]=' ';}//copy“Welcome”toname//name="Welcome";(2)strcat(name,"Welcome");//Appendablankchar//name[8]='';(3)//Appendstringtonamechar*p=GetName();(4)strcat(name,p);free(p);//printoutprintf(name);}原因:(1)在函数内部定义的变量在函数结束时就清空了,必须动态分配内存(2)字符串赋值语句错误,应该用strcat(
8、3)该语句无效,可去掉(4)定义一个指针指向动态分配的内存,用完后需用free语句释放3.写出下面程序的输出结果#includeclassA{public:voidFuncA(){printf("FuncAcalled");}virtualvoidFuncB(){printf("FuncBcalled");}};classB:publicA{pu
此文档下载收益归作者所有