上机部分
一、改错题
使用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)主要考查对变量定义的掌握,该处缺少“;”。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |