📄 intnode.h
字号:
#ifndef INTNODE_H
#define INTNODE_H
class intNode{
public:
unsigned int num;
intNode *next;
intNode();
intNode(unsigned int para);
intNode(unsigned int para, intNode* p);
intNode(intNode* p);
~intNode();
void* operator new(size_t);
void operator delete(void*);
void clear();
private:
static intNode* freelist;
};
intNode* intNode::freelist = NULL;
//constructor implement
intNode::intNode()
{
num = 0;
next = NULL;
}
intNode::intNode(unsigned int para)
{
num = para;
next = NULL;
}
intNode::intNode(unsigned int para, intNode* p)
{
num = para;
next = p;
}
intNode::intNode(intNode* p)
{
num = 0;
next = p;
}
//disconstruct
intNode::~intNode()
{}
//overload for new operator
void* intNode::operator new(size_t)
{
if(freelist == NULL)
return ::new intNode;//Create space
intNode* temp;//can take from freelist
temp = freelist;
freelist = freelist->next;
return temp;//return the link
}
//over load for delete operator
void intNode::operator delete(void* ptr)
{
((intNode*) ptr)->next = freelist;//put on freelist
freelist = (intNode*) ptr;
}
//delete the freelist
void intNode::clear()
{
intNode* temp;
temp = freelist;
while(freelist != NULL)
{
temp = freelist;
freelist = freelist->next;
::delete temp;
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -