【正确答案】答案考生文件夹(1)应添加“People(char*sUserName, int nOld)”。
(2)应添加“m_UserName[i]=0;”。
(3)应添加“friend void fun(char*s, People& personl, People& person2);”。
(4)将“if()”补充完整为“if(person1.m_Old>person2.m_Old)”。
【答案解析】[解析] 本题第1处要求“完成类的构造函数”。根据“class People”语句知道People为类,所以类People的构造函数名为People,根据第1处的大括弧中的语句知道函数中的参数为数组sUserName存放姓名,整型nOld存放年龄,所以补充构造函数定义为“People(char*sUserName, int nOld)”。第2处要求“完成构造函数对姓名的赋值”。第2处补全姓名赋值,即“m_UserName[i]=0;”。第3处要求“定义类的友元函数fun”。在C++中,如果在本类以外的其他地方定义了一个函数,在类体中是用friend对该函数进行声明的,此函数称为本类的友元函数,并且能够调用本类中的成员变量。程序中的fun函数定义为“void fun(char*s, People& personl,People& person2)”,所以声明fun()为类People的友元函数,即这里补全“friend void fun(char*s, People& personl,People& person2);”。第4处要求“补充函数fun的年龄比较”。类People中年龄的变量为m_Old,根据C++中类变量的调用格式补充第4处if语句中的条件判断语句,即“if(person1.m_Old>person2.m_Old)”。