资源描述:
《C++面向对象复习题.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.阅读下面的程序,写出main的输出。inth(intiCount,constint*ipIndex,int&irObj){iCount%=2;if(*ipIndex>=5)irObj+=iCount;return*ipIndex+irObj;}voidmain(){inti,j=1,k=2,m;for(i=0;i<10;i++,j++){m=h(i,&j,k);printf("i=%2d,j=%2d,k=%2d,m=%2d.",i,j,k,m);}}13/13答案:i=0,j=1,k=2,m=3.i=1,j=2,k=2,m=4.i=2,j=3,k=2,m=5.i=3,j=4
2、,k=2,m=6.i=4,j=5,k=2,m=7.i=5,j=6,k=3,m=9.i=6,j=7,k=3,m=10.i=7,j=8,k=4,m=12.i=8,j=9,k=4,m=13.i=9,j=10,k=5,m=15.1.用C++语言定义MyString(包括成员函数的实现代码),使之能符合下面程序及在注释中描述的运行结果的要求:voidmain(){MyStrings1="0123456789",s2(5),s3;s1.display();//此时显示出:<0123456789>s2.display();//此时显示出(<>之间是五个空格):<>s3.display();//此
3、时显示出:<>s3=s1;s3.display();//此时显示出:<0123456789>s2=s1[2];s2.display();//此时显示出:<23456789>s1.display();//此时显示出:<0123456789>s3=s2++;s2.display();//此时显示出:<3456789>s3.display();//此时显示出:<23456789>}13/13答案:#includeusingnamespacestd;classMyString{charcpBody[81];public:MyString(constchar*p=NULL
4、);MyString(inti);MyString&operator=(constMyString&s){strncpy(cpBody,s.cpBody,80);return*this;}MyString&operator[](inti);MyString&operator++(inti){staticMyStrings;s=*this;*this=(cpBody[0]==' ')?*this:(*this)[1];returns;}voiddisplay(){printf("<%s>",cpBody);}};MyString::MyString(constchar*p){i
5、f(p==NULL)cpBody[0]=' ';elsestrncpy(cpBody,p,80);}MyString::MyString(inti){intj;for(j=0;j