一、程序改错题
(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);”。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |