如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第页面向对象程序设计C++2010-2011学年春季学期末考试试卷答案及评分标准单选题(20分,每题2分)题号12345答案ADABA题号678910答案ACCAC二、读程序写结果(28分,每题4分)(1)无参构造函数被调用!析构函数被调用!带参构造函数被调用!析构函数被调用!(2)2,34,5(3)1,3,43,41,3,4(4)a=12,b=12a=34,b=56(5)带参构造函数被调用!无参构造函数被调用!复制构造函数被调用!4(6)基类:50,50基类:10,20(7)7,14,21三、根据题目要求,在程序中横线处填写适当内容(15分,每空1分)(1)voidswap(int&x,int&y){intt=x;x=y;;y=t;}(2)classA{public:A(intx1,inty1){x=x1;;y=y1;;};voiddisplay(){cout<<"x="<<x<<",y="<<y<<endl;};private:intx,y;};voidmain(){AObj1(100,200);Obj1.display();}(3)classA{public:virtualvoidShow(){cout<<"A::Show"<<endl;};};classB:publicA{public:voidShow(){cout<<"B::Show"<<endl;};};voidmain(){Aa,*pa;Bb;pa=&a;;pa->Show();pa=&b;pa->Show();}(4)floataversub(intx[],intn){inti;floatsum=0.0;for(i=0;i<n;i++)sum=sum+x[i];returnsum/n;}voidmain(){intm[10]={12,4,9,20,5,32,18,8,1,7};floataverage;average=aversub(m,10);cout<<“average=”<<average<<endl;}(5)classbase{public:staticintnum;base(){}};intbase::num=0;voidmain(){cout<<base::num<<endl;int*p=&base::num;*p=17;cout<<base::num<<endl;basea,b;cout<<*p<<","<<a.num<<","<<b.num;}四、编程题(37分)1、(20分)classComplex(4分){private:intreal,image;public:Complex(intx=0,inty=0);voidshow()const;Complexoperator+(constComplex&other);friendComplexoperator-(constComplex&left,constComplex&right);};Complex::Complex(intx,inty)(4分,其中默认参数1分){real=x;image=y;}voidComplex::show()const(4分){cout<<"输出复数:";if(real==0&&image==0)cout<<0;if(real!=0)cout<<real;if(image>0){if(image!=1)cout<<"+"<<image<<"i";elsecout<<"+i";}elseif(image<0){if(image!=-1)cout<<image<<"i";elsecout<<"-i";}cout<<endl;}ComplexComplex::operator+(constComplex&other)(4分){Complextemp;temp.real=real+other.real;temp.image=image+other.image;returntemp;}Complexoperator-(constComplex&left,constComplex&right)(4分){Complextemp;temp.real=left.real-right.real;temp.image=left.image-right.image;r