问题 问答题

改错题使用VC6打开考生文件夹下的工程test3_1,此工程包含一个源程序文件test3_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:A:a=5display1:a=6display2:a=5源程序文件test3_1.cpp清单如下:#includeclass A{public:/**********found**********/ A(){} void printa(){cout<<"A:a="<

答案

参考答案:(1)错误:A(){} 正确:A(){a=5;}(2)错误:class B;正确:friend class B;(3)错误:void display1(A t)正确:void display1(A *t)

解析:(1)主要考查考生对于缺省构造函数的理解,由主函数的obj1.printa()可知原缺省构造函数定义不完整;(2)主要考查考生对于友元的理解,如果类B不是类A的友元,则类B不能直接调用类A的私有成员,只有友元类和友元函数可以访问类的所有成员;(3)主要考查考生对于指针的概念掌握,由函数体中的使用可以看出,这里的定义应该是对象指针,指针的定义是使用*加上变量名。

填空题
填空题