问答题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成构造函数,设置数组元素的个数为0,请在注释//********1********之后添加语句。 (2)完成函数AddMember(int n),如果参数n包含在类的数据成员数组中,则返回0,否则把数据写入数组,然后返回1,请在注释//********2********之后添加语句。 (3)完成函数DelMember(int n),如果变量在数据中,则删除该变量,并且返回1,如果不存在则返回0,请在注释//********3********之后添加语句。 (4)完成成员函数islnclude(int n)的定义,该函数检查参数n是否在类的数据成员数组elems中,如果在返回1,否则返回0。请在注释//********4********之后添加语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include<iostream.h>#define MAX_LENGTH 500class CArray{public: CArray() { //********1******** } int AddMember(int n) { for(int i=0;i<length;i++) { //********2******** if(Array[i]=n) return 0; ) Array[length++]=n; return 1; } int DeiMember(int n) { int i; for(i=0;i<length;i++) { if(Array[i]==n) { break; } } //********3******** if() { for(;i<length-1;i++) { Array[i]=Array[i+1]; ) length--; return 1; } return 0; } int isInclude(int n) { for(int i=0,i<length;i++) { //********4******** if() { return 1; } } return 0; }private: int Array[MAX_LENGTH]; int length;//用来记录数组的个数};int main(){ CArray obj; obj.AddMember(1); obj.AddMember(3); obj.AddMember(8); obj.AddMember(23); cout<<obj.is Include(8)<<end1; cout<<obj.isInclude(11)<<end1; obj.DelMember(3); obj.DelMember(8); cout<<obj.isInclude(2)<<end1; cout<<obj.is Include(1)<<end1; return 0;}
【正确答案】正确答案:(1)添加语句:length=0; (2)将“if(Array[i]=n)”补充完整为:if(Array[i]==n)或if(n==Array[i]) (3)将“if()”补充完整为:if(i
【答案解析】解析:(1)使length的初始化为0,因此添加语句:“length=0;” (2)第2个标识下是检查n是否已经在数组当中存在,用if语句来判断,即if(Array[i]==n)或if(n==Array[i])。 (3)DelMember(int n)函数删除指定的元素,由于元素在数组当中的位置未知,因此必须先查找该元素的位置,在该函数的实现过程当中通过for循环来完成,即第一个for循环查找n在数组中的位置。如果n存在于数组中,那么if中的break语句就会执行跳出循环,此时循环变量i的值会小于length,即通过判断i的值是否小于length值可以知道n是否存在数组中,如果存在数组中接下来进行删除操作。即第3个标识下应改为if(i