全国2009年10月自学考试C++程序设计试题
03-13 16:37:39 分类:自学考试试题 浏览次数: 117次};
class B:public A{
public:
B(char * n){
strcpy ( name,n);
}
。 www.qihang56.com};
void main( ){
B b(″Hello!″);
cout <<″Name:″<
}
四、完成程序题(本大题共5小题,每小题4分,共20分)
46.将下面程序补充完整,使程序输出结果为:
Begin
Welcome
Show
End
程序如下:
#include
using namespace std;
class A{
public:
__________{
cout <<″Begin″<
}
void show( ){
cout<<″Show″<
}
___________{
cout<<″End″<
}
};
A object;
int main( ){
cout <<″Welcome″<
object.show( );
return 0;
}
47.请将下面程序补充完整,使程序可以正常打印9×9乘法口诀。
#include
using namespace std;
class A {
private:
int a;int b;
public:
__________
{ a = x;b = y; }
void set(int x,int y)
{ a = x;b = y; }
void display( ){
cout<
}
};
int main( ){
A a(1,1);
for(int i=1;i<=9;i++){
for(int j=1;____;j++){
a.set(j,i);
a.display( );
cout<<″″;
}
cout<
}
return 0;
}
48.将下面程序补充完整,使程序可以输入学生信息并计算平均成绩。
#include
#include
using namespace std;
class Student{
private:
char name[255];
int score[10];
public:
Student(char n[ ],int s[ ]){
___________;
for(int i=0;i<10;i++){
score[i]=s[i];
}
}
void Show( ){
int sum=0;
for(int i=0;i<10;i++){
_______________;
}
cout<<″名字:″< < name<<″,平均成绩:″<
}
};
void main( ){
char name[255];
int score[10];
cout<<″姓名:″;cin>>name;
for(int i=0;i<10;i++){
cout<<″成绩″<
cin>>score[i];
}
Student s(name,score);
s.Show( );
}
49.将下面程序补充完整,使程序可以正常运行,并释放内存。
#include
_______
class A {
private:
T * data;
int length;
public:
A (int len){
length=len;
data=new T[len];
}
~A( ){
_________
}
T& operatorwww.qihang56.com(int i){
return data[i];
}
};
int main( ){
A
obj[0]=1;
obj[1]=2;
cout<
cout<
return 0;
}
50.将下面程序补充完整,使程序运行结果为:
C1ass A
Class B
程序如下:
#include
#include
class A{
public:
virtual void GetA( ) = 0;
};
class B:public A{
private:
char str[32];
public:
void GetA( ){
cout<<″Class A″<
}
const char * GetB( ) {_____
}
B(char * s){
strcpy(str,s);
}
};
void main( ){
A * a;
B b(″Class B″);
a=_________;
a-> GetA( );
cout<
return;
}
五、程序分析题(本大题共2小题,每小题5分,共10分)
51. #include
using namespace std;
int main( ){
int i,j;
for(i=l;i<=4;i+=1)
for(j=2;j<=4;j+=j){
if(i+j<5)
cout<<″ + ″;
else
cout<<″ * ″;
}
return 0;
}
52. #include
using namespace std;
class A {
int a;
public:
A(int aa=0){a=aa;}
~A( ){cout <<″Destructor A!″<
};
class B:public A{
int b;
public:
B(int aa = 0,int bb = 0):A(aa){b = bb;}
~B( ){cout <<″Destructor B!″<< b << endl;}
};
void main( ){
B x(5),y(6,7);
}
六、程序设计题(本大题10分)
53.下面Shape类是一个表示形状的抽象类,Area ( )为求图形面积的函数。请从Shape类派生梯形类(Trapezoid)、圆形类(Circle),三角形类(Triangle),并给出具体的求面积函数。其中,所有派生类计算面积需要用到的参数由构造函数给出,梯形面积计算需要上底、下底和高,三角形面积需要底和高,圆形面积需要半径。
形状的抽象类声明如下:
class Shape {
public:
virtual double Area( ) = 0;
};
。相关热词搜索: