标题:[求助]whats wrong
只看楼主
Satyr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-4-7
 问题点数:0 回复次数:5 
[求助]whats wrong
#include <iostream.h>
#include <assert.h>
template <class eminu>
class list
{
private:
int curr_len;
eminu *shuzu;
eminu xxx;
const int m_Maxlen;
public:
list(const int maxlen);//创建maxlen个数据的数组
~list();
void Clear();//清空
void Putinto(eminu tmp);//写入数据
void Insert(eminu tmp,int pos);//在POS处插入
void display();//显示目前的数据内容
void Delete(int pos); //删除POS处数据
bool Isfull();//判断是否为满
bool Isempty();//判断是否为空
eminu Get(int i);//截取I处数据
};
template <class eminu>
list<eminu>::list(const int maxlen=0)
{
m_Maxlen=maxlen;
shuzu=new eminu[maxlen];
curr_len=0;
}
template <class eminu>
list<eminu>::~list()
{
delete []shuzu;
}
template <class eminu>
void list<eminu>::Clear()
{
for(int i=0;i<curr_len;i++)
{
shuzu[i]=0;
}
}
template <class eminu>
void list<eminu>::Putinto(eminu tmp)
{
shuzu[curr_len]=tmp;
curr_len++;
}
template <class eminu>
void list<eminu>::Insert(eminu tmp,int pos)
{
assert(pos>=1&&pos<=curr_len&&!Isfull());
for(int here=m_Maxlen;here>curr_len;here--)
{
shuzu[here]=shuzu[here-1];
}
shuzu[pos]=tmp;
}
template <class eminu>
void list<eminu>::display()
{
for(int i=0;i<curr_len;i++)
{
cout<<shuzu[i]<<" ";
}
cout<<endl;
}
template <class eminu>
eminu list::Get(int pos)
{
assert(pos<=curr_len&&pos>=0);
return shuzu[pos];
}
template <class eminu>
bool list<eminu>::Isfull()
{
return curr_len==m_Maxlen;
}
template <class eminu>
bool list<eminu>::Isempty()
{
return curr_len==0;
}
template <class eminu>
void list<eminu>::Delete(int pos)
{
assert(!Isempty()&&pos<=curr_len);
for(int i=pos-1;i<curr_len;i++)
{
shuzu[i]=shuzu[i+1];
}
}

main,cpp:
#include "list.h"
int main()
{
list<int> text(5);
text.Putinto(1);
text.display();
~list<int> text();
return 0;
}

我现在正在上上机课,有个错误老师和我都没看出来
大家帮忙看一下

搜索更多相关主题的帖子: wrong whats 
2006-09-08 15:31
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 

是这个~list<int> text();错
晕怎么不修改


[此贴子已经被作者于2006-9-8 16:38:50编辑过]


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-09-08 16:37
Satyr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-4-7
得分:0 
哦,但主要不是这个错
我改了一下

C++的博大精深让我叹服
2006-09-08 16:44
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 
void list<eminu>::Insert(eminu tmp,int pos)
{
assert(pos>=1&&pos<=curr_len&&!Isfull());
for(int here=m_Maxlen-1;here>=pos;here--)
{
shuzu[here]=shuzu[here-1];
}
shuzu[pos-1]=tmp;
curr_len++;
}

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-09-08 17:20
Satyr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-4-7
得分:0 
不好意思
是我那个机器C盘被别人给修改的不能写程序了
那个错误把所有错误都评比了

C++的博大精深让我叹服
2006-09-09 08:22
Satyr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-4-7
得分:0 

#include <cstdlib>
#include <iostream>
#include <assert.h>
using namespace std;
template <class eminu>
class list
{
private:
int curr_len;
eminu *shuzu;
eminu xxx;
int m_Maxlen;
public:
list(const int maxlen);//创建maxlen个数据的数组
~list();
void Clear();//清空
void Putinto(eminu tmp);//写入数据
void Insert(eminu tmp,int pos);//在POS处插入
void display();//显示目前的数据内容
void Delete(int pos); //删除POS处数据
bool Isfull();//判断是否为满
bool Isempty();//判断是否为空
eminu Get(int i);//截取I处数据
void creat(int tmp);
};
template <class eminu>
list<eminu>::list(const int maxlen=0):m_Maxlen(maxlen)
{
shuzu=new eminu[m_Maxlen];
curr_len=0;
}
template <class eminu>
list<eminu>::~list()
{
cout<<"game over"<<endl;
delete []shuzu;
}
template <class eminu>
void list<eminu>::creat(int tmp)
{
shuzu=new eminu[tmp];
m_Maxlen=tmp;
}
template <class eminu>
void list<eminu>::Clear()
{
for(int i=0;i<curr_len;i++)
{
shuzu[i]=0;
}
}
template <class eminu>
void list<eminu>::Putinto(eminu tmp)
{
shuzu[curr_len]=tmp;
curr_len++;
}
template <class eminu>
void list<eminu>::Insert(eminu tmp,int pos)
{
assert(pos>=1&&pos<=curr_len&&!Isfull());
for(int here=m_Maxlen-1;here>=pos;here--)
{
shuzu[here]=shuzu[here-1];
}
shuzu[pos-1]=tmp;
curr_len++;
}
template <class eminu>
void list<eminu>::display()
{
for(int i=0;i<curr_len;i++)
{
cout<<shuzu[i]<<" "<<endl;
}
}
template <class eminu>
eminu list<eminu>::Get(int pos)
{
assert(pos<=curr_len&&pos>=0);
return shuzu[pos];
}
template <class eminu>
bool list<eminu>::Isfull()
{
return curr_len==m_Maxlen;
}
template <class eminu>
bool list<eminu>::Isempty()
{
return curr_len==0;
}
template <class eminu>
void list<eminu>::Delete(int pos)
{
assert(!Isempty()&&pos<=curr_len);
for(int i=pos-1;i<curr_len;i++)
{
shuzu[i]=shuzu[i+1];
}
}

main.cpp


int main(int argc, char *argv[])
{
list<int> text;
int choose;
int tmp;
int pos;
do
{
cout<<"1.创建链表"
<<"2.清空链表"
<<"3.写入数据"
<<"4.插入"
<<"5.显示内容"
<<"6.删除"
<<"7.截取数据"
<<"8.退出"<<endl;
cin>>choose;
switch(choose)
case 1:
{
cout<<"输入创建多长的链表"<<endl;
cin>>tmp;
text.creat(tmp);
break; }
case 2:
{
text.Clear();
break;}
case 3:
{
cout<<"输入你要写的数据"<<endl;
cin>>tmp;
text.Putinto(tmp);
break;}
case 4:
{
cout<<"请输入你要插入的数据和位置"<<endl;
cin>>tmp; cin>>pos;
text.Insert(tmp,pos);
break;
}
case 5:
{
text.display();
break;
}
case 6:
{
delete text;
break;
}
case7:
{
cout<<"输入要截取的位置"<<endl;
cin>>pos;
list<eminu>::Get(pos);
break;
}
case 8:
{
break;
}
default:{
cout<<"输入有误,从新输入"<<endl;
break;}
}while(choose<=0&&choose>8);
return 0;
delete text;
system("PAUSE");
return EXIT_SUCCESS;
}
帮忙修改


C++的博大精深让我叹服
2006-09-15 07:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-88852-1-1.html




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

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