{
cout<<\,Y=\}
}(_____ y=b; ______) voidmain() {
Samples(2,3),*p=&s; p->disp(); }
47.在下划线处填上适当的语句,使程序的输出结果如下: n=30 #include template classSample { Tn; public: Sample(){}
Sample(Ti){___ n=i ;______} Sample&operator+(constSample&); voiddisp(){cout<<\ }; template
Sample&Sample::operator+(constSample&s) {
staticSampletemp; returntemp; }
voidmain() {
Samples1(10),s2(20),s3; s3=s1+s2; s3.disp(); }
48.在下划线处填上适当的语句,使程序的输出结果如下: 12345678910
#include classSample {
intA[10][10]; public:
int&operator()(int,int); };
int&Sample::operator()(intx,inty) {
returnA[x][y]; }
voidmain() { Samplea; inti,j; ____不填 _____ for(j=0;j<10;j++) ___ a ( j , 1) = j+a;______ for(i=0;i< P> cout\;< P> cout<< P> }
49.在下划线处填上适当的句子,完成函数的定义。 #include classSample { intx; public: Sample(){};
__ Sample ( int a) _______{x=a;}
__ Sample ( Sample a) _______{x=a.x+++10;} voiddisp(){cout<<\ }; voidmain() {
Samples1(2),s2(s1); s1.disp();
s2.disp(); }
50.输入一个字符串,将其逆序后输出。 #include
usingnamespacestd; voidmain() {
chara[50];memset(a,0,sizeof(a)); inti=0,j; chart;
cin.getline(a,50,'n';
for(i=0,j=strlen(a)-1;i<____ j _____;i++,j――) { t=a[i];
a[j]=t; } cout P>
}
a [ i ] =a [ j ];
五、程序分析题(本大题共4小题,每小题5分,共20分) 51.(给出下面程序的输出结果 #include classexample { inta; public:
example(intb){a=b++;}
voidprint(){a=a+1;cout\;}< P> voidprint()const{cout\;}< P> }; voidmain() {
examplex(3); constexampley(2);
x.print(); y.print(); }
52.给出下面程序的输出结果 #include classSample { intx,y; public:
Sample(){x=y=0;}
Sample(inta,intb){x=a;y=b;} ~Sample() { if(x==y) cout<<\ else
cout<<\!=y\ }
voiddisp() {
cout<<\,Y=\ } }; voidmain() {
Samplesl(2,3); s1.disp(); }
53.给出下面程序的输出结果 #include classSample { intn; staticintsum; public:
Sample(intx){n=x;} voidadd(){sum+=n;} voiddisp() {
cout<<\,SUM:\ } };
intSample::sum=0; voidmain() {
Samplea(2),b(3),c(5); a.add(); a.disp(); b.add(); b.disp(); c.add(); c.disp();
}
答案: 4 2 x=2 , y=3 x ! = y
n=2 , sum : 2 n=3 , sum : 5 n=5 , sum :10
54.给出下面程序的输出结果 #include classA{ private: friendclassB;
A(intval=0):data(val),use(1){} intuse,data; }; classB{ public: A*pa;
B(intval=0):pa(newA(val)){} ~B(){if(--pa->use==0)deletepa;} B(B&rhs){++rhs->use;pa=rhs.pa;} B&operator=(B&rhs); A*operator->{returnpa;} voidDisplay(){