| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 406 人关注过本帖
标题:[求助]这是什么用法?
只看楼主 加入收藏
norlan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-3
收藏
 问题点数:0 回复次数:2 
[求助]这是什么用法?
处理一个数组构成的线性表,动态产生线性表,并输出线性表中的数据

有个地方不明白
#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];}
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];
else return 0;
}
void Destroy(void) {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];
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<<"线性表list1的元素的个数为:"<<list1.Elem()<<'\n';
cout<<"线性表list1的长度为:"<<list1.Max()<<'\n';
list1.print();
list1.Elem(3u)=100;//这是什么用法?
cout<<"现在线性表list1中的第三个值为:"<<list1.Elem(3u)<<'\n';
list1.Elem(20);
list1.Elem(200);
cout<<"现在线性表list1中元素的个数为:"<<list1.Elem()<<'\n';
list1.print();
cout<<"线性表list中的最后一个元素为:"<<list1.GetElem(list1.Elem()-1)<<'\n';
list.Destroy();
list1.Destroy();
}
搜索更多相关主题的帖子: 用法 
2007-05-21 23:31
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
list1.Elem(3u)  其中3u是无符号数字,所以会调用 list1的 Elem(unsigned n) ,然后返回叔祖list[3]的引用,在将100给这个list[3]=100;

2007-05-22 08:35
norlan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-3
收藏
得分:0 
thank you~
2007-05-22 10:06
快速回复:[求助]这是什么用法?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038514 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved