- 首頁(yè)|
- 網(wǎng)校|
- 焚題庫(kù)|
- APP |
- 微信公眾號(hào)
五、程序分析題(本大題共4小題,每小題5分,共20分)
51.(給出下面程序的輸出結(jié)果
#include<iostream.h>
class example
{
int a;
public:
example(int b){a=b++;}
void print( ){a=a+1;cout<<a<<" ";}
void print( )const{cout<<a<<"";}
};
void main( )
{
example x(3);
const example y(2);
x.print( );
y.print( );
}
52.給出下面程序的輸出結(jié)果
#include<iostream.h>
class Sample
{
int x,y;
public:
Sample( ){x=y=0;}
Sample(int a,int b){x=a;y=b;}
~Sample()
{
if(x==y)
cout<<"x=y"<<endl;
else
cout<<"x!=y"<<endl;
}
void disp()
{
cout<<"x="<<x<<",y="<<y<<endl;
}
};
void main()
{
Sample sl(2,3);
s1.disp();
}
53.給出下面程序的輸出結(jié)果
#include<iostream.h>
class Sample
{
int n;
static int sum;
public:
Sample(int x){n=x;}
void add( ){sum+=n;}
void disp( )
{
cout<<"n="<<n<<",sum:"<<sum<<endl;
}
};
int Sample::sum=0;
void main( )
{
Sample a(2),b(3),c(5);
a.add( );
a.disp( );
b.add( );
b.disp( );
c.add( );
c.disp( );
}
54.給出下面程序的輸出結(jié)果
#include<iostream.h>
class A{
private:
friend class B;
A(int val=0):data(val),use(1){}
int use,data;
};
class B{
public:
A*pa;
B(int val=0):pa(new A(val)){ }
~B( ){if( -- pa ->use==0)delete pa;}
B(B&rhs){ + + rhs ->use;pa=rhs.pa;}
B&operator=(B&rhs);
A*operator ->( ){return pa;}
void Display( ){
cout<<"data="<<pa ->data
<<",use="<<pa ->use<<endl;
}
};
B&B::operator=(B&rhs)
{
if(this = = &rhs)return*this;
if( -- pa ->use = =0)delete pa;
+ + rhs ->use;
pa=rhs.pa;
return * this;
}
int main( ){
B b1(1),b2(b1),b3(3);
b1.Display( );
b2.Display( );
b3.Display( );
b3=b1;
b1.Display( );
b3.Display( );
return 0;
六、程序設(shè)計(jì)題(本大題共1小題,每小題10分,共10分)
55.已知一個(gè)student類,包括學(xué)姓名,成績(jī)和等級(jí),不含任何成員函數(shù).process為學(xué)生信息處理類.
class student{
char name[ 10 ];
int deg;
char level[ 7 ];
friend class process:
public:
student(char na[ ],int d){strcpy(name,na);deg=d;}
} ;
class process{
public:
void trans(student s[ ]){…}//根據(jù)學(xué)生成績(jī)計(jì)算學(xué)生等級(jí)(優(yōu)大于89分,良大于79分,中大于69分,及格大于59分,不及格小于60分).
void disp(student s[ ]){...}//根據(jù)成績(jī)降序打印所有學(xué)生信息
};
要求實(shí)現(xiàn)process類中的兩個(gè)函數(shù):