好多不懂的地方,初级问题

hailun 2005-10-02 08:34:28
#include<iostream.h>
class listclass
{
int *list;
unsigned nmax;
unsigned nelem;
public:
void init(int n=10)
{
list=new int [n];
nmax=n;
nelem=0;
}
int elem(int);
int &elem(unsigned n){return list[n];}//int &elem(unsigned n)这是什么意思呀
unsigned elem(void){return nelem;}
unsigned max(void){return nmax;}
void print(void);
int getelem(int i)
{
if((i>=0)&&(i<=nelem)) return list[i];//返回LIST的I的地址吗?
else return 0;
}
void destroy(void) {delete [nmax]list;}//{delete [nmax]list;}没见过,不懂
};
int listclass::elem(int elem)
{
if(nelem<nmax){
list[nelem++]=elem;
return nelem;
}
else{
int *list;
list=new int[nmax+1];
for(int i=0;i<nelem;i++) list[i]=list[i];//list[i]=list[i]自己赋给自己吗?
delete [nmax]list;//???
nmax++;
list=list;//?????
list[nelem++]=elem;//???
return nelem;
}
}
void listclass::print(void)
{
for(int i=0;i<nelem;i++) cout<<list[i]<<'\t';
cout<<'\n';
}
void main(void)
{
listclass list,list1;
list.init(10);
list1.init(20);
for(int i=0;i<10;i++)
list1.elem(i);
cout<<"线性表list的元素的个数:"<<list.elem()<<'\n';
cout<<"线性表list的长度为:"<<list.max()<<'\n';
cout<<"线性表list的元素的个数:"<<list1.elem()<<'\n';
cout<<"线性表list的长度为:"<<list.max()<<'\n';
list1.print();
list1.elem(3u)=100;//3u什么意思呀
cout<<"现在线性表list1中的第三个值为:"<<list1.elem(3u)<<'\n';//3u???
list1.elem(20);
list1.elem(200);
cout<<"现在线性表list1中无素的个数为:"<<list1.elem()<<'\n';
list1.print();
cout<<"线性表list1中的最后一个元素为:"<<list1.getelem(list1.elem()-1)<<'\n';//list[i]=list[i]???
list.destroy();
list1.destroy();
}
...全文
42 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaocai0001 2006-02-21
  • 打赏
  • 举报
回复
.

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧