问答题 改错题 使用VC6打开考生文件夹下的工程test3_1,此工程包含一个源程序文件test3_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: A:a=5 display1:a=6 display2:a=5 源程序文件test3_1.cpp清单如下: #include class 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)主要考查考生对于指针的概念掌握,由函数体中的使用可以看出,这里的定义应该是对象指针,指针的定义是使用*加上变量名。