阅读以下说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 c++标准模板库中提供了map模板类,该模板类可以表示多个“键一值”对的集合,其中键的作用与普通数组中的索引相当,而值用作待存储和检索的数据。此外,c++模板库还提供

admin2010-01-08  39

问题 阅读以下说明和c++代码,将应填入  (n)  处的字句写在答题纸的对应栏内。
【说明】
c++标准模板库中提供了map模板类,该模板类可以表示多个“键一值”对的集合,其中键的作用与普通数组中的索引相当,而值用作待存储和检索的数据。此外,c++模板库还提供了pair模板类,该类可以表示一个“键-值”对。pair对象包含两个属性:first和second,其中first表示“键-值”中的“键”,而Second表示“键-值”中的“值”。map类提供了insert方法和find方法,用于插入和查找信息。应用时,将一个pair。对象插入(insert)到map对象后,根据“键”在map对象中进行查找(find),即可获得一个指向pair对象的迭代器。下面的c++代码中使用了map和pair模板类,将编号为1001、1002、1003的员工信息插入到map对象中,然后输入一个指定的员工编号,通过员工编号来获取员工的基本信息。员工编号为整型编码,员工的基本信息定义为类employee。map对象与员工对象之间的关系及存储结构如图5—1所示。

【c++代码】
#include
#include
#include
using namespace std;
class employee {(1)    :
employee(string name,string phoneNumber,string address){
this->name=name;
this->phoneNumber=phoneNumber ;
this->address=address;
}
string name;
string phoneNumber;
string address;
);
int main()
{
mapemployeeMap;
typedef pairfor(int employIndex=1001 ; employIndex<=1003 ; employIndex++){
char temp[10];    //临时存储空间
_itoa(employIndex,temp,i0);//将employIndex转化为字符串存储在temp中
string tmp(  (2)  );    //通过temp构造string对象
employeeMap.  ( 3)  (employeePair(employlndex,new employee(*employ-
ee-“+tmp,”85523927-“+tmp,”
address-”+tmp)
)
);//将员工编号和员工信息插入到employeeMap对象中
)
int employeeNo=0 ;
cout<<“请输入员工编号:”;(4)  >>employeeNo;    //从标准输入获得员工编号
map::const_iterator it;
it=  (5)  .find(employeeNo);  //根据员工编号查找员工信息
if(it==employeeMap.end()){
cout<return-1;
)
cout<<“你所查询的员工编号为:”<first<cout<<“该员工姓名:。”  <second一>nafae(cout<<“该员工电话:”  ((it-)second  >phoneNumber<cout<<”该员工地址:”  <second->address<return 0;
)

选项

答案(1)public (2)temp (3)insert (4)cin (5)employeeMap

解析 在c++中,在生成类的对象的时候需要调用类的构造函数,因此employee的构造函数应该是公有函数,在代码中的空(1)处的答案为“public ”;在空(2)所在行通过注释可以看出来在这一行我们需要把char型的数组temp转换成string型的对象,所以空(2)的答案为“temp”;在空(3)所在的代码行我们构造了一个新的员工对象,并将其插入Pair对象中,按照代码注释的意思需要将这个Pair对象添加到employeeMap对象中,在题目前面的说明中已经给出了Map类的使用方法,可以直接通过调用Map类中的insert函数实现这一功能,所以空(3)的答案为“insert”;空(4)处需要从标准输入获得员工编号,c++的标准类库中已经提供了标准输入函数cin,所以这里的答案为“cin”;空(5)处根据注释我们知道是要根据员工编号查找员工信息,这里我们可以直接调用Map类的find函数来实现,因而之前员工编号和员工信息都是通过调用Map类的insert函数存储在Map类的实例employeeMap中,所以空(5)的答案为“employeeMap”。
转载请注明原文地址:https://kaotiyun.com/show/tIjZ777K
0

最新回复(0)