试题与答案

使用VC6打开考生文件夹下的工程test24_1,此工程包含一个源程序文件test2

题型:填空题

题目:

使用VC6打开考生文件夹下的工程test24_1,此工程包含一个源程序文件test24_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为:
000
1 2-1
000
l 2-l
2 1 1
源程序文件 test24_1.cpp 清单如下:
#include<iostream.h>
class A
/****************found*******************/
int a=O;
public:
A(int aa=O):a(aa)
;
class B

int a,b;
const int c;
A d;
public:
/****************found*******************/
B()
/****************found*******************/
B (int aa, int bb): d(aa+bb)

a=aa, b=bb;

void print()

cout<<a<<" "<<b<<" "<<c<<" "<<endl;

;
void main ( )

B a,b(1,2);
B x=a,y(b),z(2,1);
a.print();
b.print();
x.print();
y.print();
z.print();

答案:

参考答案:
(A)错误:int a=0;
正确:int a;
(B)错误;B(){}
正确:B():c(O){a=0;b=0;}
(C)错误:B(int aa,int bb):d(aa+bb)
正确:B(int aa,int bb):c(aa-bb),d(aa+bb)

解析:
(1)主要考查考生对于类的数据成员的初始化,在类的定义中不能对类的数据成员进行初始化,如果想要进行初始化应该使用构造函数和参数的默认值:
(2)主要考查考生对于含有常数据成员的类的构造函数的掌握,常数据成员必须在构造函数中进行初始化,而且应该使用参数列表的形式;
(3)主要考查考生在构造函数中对常数据成员的赋值的掌握,常数据成员的赋值应使用初始化列表进行。

试题推荐
微信公众账号搜索答案