第 1 页:上机试题 |
第 2 页:参考解析 |
一、程序改错题
(1)应改为“TCadd(TCs1,TCs2)”。
(2)应改为“return(*this);”。
(3)应改为“};”。
【解析】本题中的变量“s2”没有声明类型,所以补充“s2”的类型,即“TCadd(TCs1,TCs2)”,“this->n=s1.n+s2.n;”语句中的this变量为指针变量,所以第2处的“return(this);”返回语句中的this变量,应该返回指针型,所以修改为“return(*this);”。C++中类的定义格式应为“class类名{};”,以分号为结尾,所以在第3处的类结尾处补充分号“;”,即修改为“};”。
二、简单应用题
inti,j;
for(i=j=0;i(n&&j{
*c++=a[i]个数组中元素大小
}
while(iwhile(j(m)*c++=b[j++];
【解析】本题都指向数组的第一个元素。利用for循环对要合并的两个数组中的元素进行比较,直到两个数组结束。取比较结果小的元素,并将指向这个数组的位置向后移动一位。
三、综合应用题
(1)将“out1.open(”3.txt”,);”补充完整为“outl.open("3.txt",ios_base::app);"。
(2)应添加“intm,n;”。
(3)应添加“intTC::*p=&(TC::m);”。
(4)应添加“p=&(TC::n);”。
【解析】本题第1处要求“对文件以追加的方式打开”。文件输入输出方式的设置值,ios::app是以输出方式打开文件,写入的数据添加在文件末尾,即第1处的语句补全为“out1.open("3.tXt",ios_base::app);”。第2处要求“定义m、n为类TC的公有int型数据成员”。只需在程序中的TC类中的public区域添加m、n的定义即可。即在第2处添加“intm,n;”。第3处要求“定义P为类TC的数据成员指针,并指向类TC数据成员m”。程序中类TC数据成员m为“TC::m”定义P为类TC的数据成员指针语句为“TC::*P”,将其指向前面的数据成员m,即为“intTC::*P=&(TC::m);”。第4处要求“定义P指向类TC数据成员n”。定义类TC数据成员n的语句为“TC::n”,用P指向类TC数据成员n,添加的语句即“p=&(TC::n);”。
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: