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