程序功能:设计一个数组类,要求在数组类中重载下标运算符。

2020-05-17 社会 69阅读
#include
#include
class Assc_array
{ struct Item
{ char *name;
long tel_num;
};
Item *table;
int max;
int items;
public:
Assc_array(int);
long & operator[](char *);
void printAll();
};
Assc_array::Assc_array(int nm=0)
{ max=nm;
items=0;
table=new Item[max];
}
long & Assc_array::operator[](char *nm)
{ Item *pi;
for (pi=table;piif (strcmp(pi->name,nm)==0)
return pi->tel_num;
pi=table+items++;
pi->name=new char[strlen(nm)+1];
strcpy(pi->name,nm);
pi->tel_num=0;
return pi->tel_num;
}
void Assc_array::printAll()
{ for (int i=0;icout<}
void main()
{ Assc_array tel_num_table(10);
tel_num_table["zhang"]=7075461;
tel_num_table["li"]=4047658;
tel_num_table["tan"]=2595121;
tel_num_table["cai"]=7732435;
cout<<"zhang->"<cout<<"li->"<cout<<"tan->"<cout<<"cai->"<tel_num_table.printAll();
}
同学,是理工的吧?
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com