首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于string的有关问题

2012-03-15 
关于string的问题#include stringclass memorynode{friend class memorylistpublic:memorynode(string

关于string的问题
#include <string>
class memorynode{
friend class memorylist;
public:
memorynode(string n,int s,int begin,int end);
private:
string SzName;
int size;
int BeginAdd;
int EndAdd;
  memorynode *link;
};

memorynode::memorynode(string n,int s,int begin,int end){
SzName=n;size=s;BeginAdd=begin;EndAdd=end;link=NULL;
}

class memorylist{
public:
memorylist();
int allocate(string n,int s,int begin,int end);
int reclaim(string n);

private:
memorynode *first,*last;
};

memorylist::memorylist(){
first=new memorynode("head",0,0,0);
first->link=last=new memorynode("rear",0,1024,1024);
}

int memorylist::allocate(string n,int s,int begin,int end){
memorynode * q,*m,*p=first;
while(!p->link->BeginAdd-p->EndAdd>=s)
p->link=p;
if(p==last) return 1;//内存不够
q=p->link;
m=p->link=new memorynode(n,s,begin,end);
m->link=q;
return 0;
}


int memorylist::reclaim(string n){
memorynode *q,*p;
p=first;
while(!p->SzName==n){
q=p;
p->link=p;
}
  if(p==last) return 1; //找不到所输入的进程
q->link=p->link;
delete p;
return 0;
}

这是我写的一个关于'内存分配'的单链表类,但为什么不能用string的数据类型呢?把string改成char就ok了.

[解决办法]
#include <string>下面加using namespace std; 编译就行了。
[解决办法]
要使用命名空间

热点排行