A-A+

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

2022-08-05 21:19:44 问答库 阅读 172 次

问题详情

使用VC6打开考生文件夹下的工程test11_1,此工程包含一个源程序文件test11_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
ch1=7 ch2=9
源程序文件test11_1.cpp清单如下:
include<iostream.h>
class Sample
{
/**************** found ***************/
char ch1,ch2
public:
/************** found ***************/
friend void set(Sample s, char c1,char c2)
{
s.ch1=c1;
s.ch2=c2;
}
void print() {cout<<"ch1="<<" ch2="<<ch2<<end1;}
};
void main()
{
Sample obj;
/************* found ****************/
obj.set(obj,"7","9");
obj.print();
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:(1)错误:char ch1ch2正确:char ch1ch2;(2)错误:friend void set(Sampleschar c1char c2)正确:friend void set(Sample &schar c1char c2)(3)错误:obj. set(obj'7''9');正确:set(obj'7''9');
(1)错误:char ch1,ch2正确:char ch1,ch2;(2)错误:friend void set(Samples,char c1,char c2)正确:friend void set(Sample &s,char c1,char c2)(3)错误:obj. set(obj,'7','9');正确:set(obj,'7','9'); 解析:(1)主要考查考生对于变量定义格式的掌握,结尾应该使用“;”;
(2)主要考查考生对于传值调用与引用调用区别的掌握,为了改变对象的值,在这里应该使用引用调用;
(3)主要考查考生对于友元函数概念的理解,友元函数而不是当前类的成员函数,而是独立于当前类的外部函数,在使用时应该直接调用不需要使用对象访问。

考点:工程,源程序