————————————————————以下为Stack.h文件(即头文件)
#include <iostream.h>
struct list //定义一个节点结构
{
int data;
list* list;
};
class Stack //定义一个盏操作类
{ list* ptr //盞指针
public:
Stack();
void push (int i);
int pop();
};
-------------------以下为Stack.cpp文件
#include "stack.h"
#include <iostream.h>
void Stack::push(int x) //入盏成员函数
{
list* newnode=new list;
newnode->data=x;
newnode->next=ptr;
ptr=newnode;
}
int Stack::pop() //出盏成员函数
{
list* top;
int value;
value=ptr->data;
top=ptr;
ptr=ptr->next;
delete top;
return value;
}
viod main()
{
Stack A;
int arr[]={5,2,8,1,4,3,9,7,5};
cout<<"Push:";
for(int i=0; i<9; i++)
{
cout<<arr[i]<<" ";
A.push(arr[i]);
}
cout<<endl<<"Pop:";
for(i=0; i<9; i++)
cout<<A.pop()<<" ";
cout<<endl;
}
将类的界面与实现分开写(如上形式),再将其编译,发现出现‘没有声明NULL’的错误信息
但是将类的界面与实现合并成一个文件编译时,却没发现错误,请问这是什么原因
请各位指教