上机部分
一、改错题
使用VC6打开考生文件夹下的工程kt4_1,此工程包含一个源程序文件kt4_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
1:
weight:5
age:0
2:
weight:7
age:9
源程序文件kt4_1.cpp清单如下:
#include
classanimal
{
public:
/****************found*******************/
friendvoidsetvalue(animal&,int);
/****************found*******************/
viodprint();
protected:
intitsweight;
intitsage;
};
voidanimal::print()
{
cout<<"weight:"<
cout<<"age:"<
}
voidsetvalue(animal&ta,inttw)
{
ta.itsweight=tw;
www.Examda.CoM ta.itsage=0;
}
voidsetvalue(animal&ta,inttw,inttn)
{
ta.itsweight=tw;
ta.itsage=tn;
}
voidmain()
{/****************found*******************/
animalpeppy
setvalue(peppy,5);
cout<<"1:"<
peppy.print();
setvalue(peppy,7,9);
cout<<"2:"<
peppy.print();}
【参考答案】
(1)添加友元函数的声明
friend void setvalue(animal&,int,int);
(2)将viod print();改为:void print();
(3)将animal peppy改为:animal peppy;
【试题解析】
(1)主要考查对成员函数定义规则的掌握,成员函数必须先声明再使用,即使是友元函数也不例外;
(2)主要考查对关键字的掌握,空类型应用void;
(3)主要考查对变量定义的掌握,该处缺少“;”。