2014-02-19 156 views
-1

我正在C++中实现没有STL库的堆栈。在C++中实现堆栈

这里是我的头文件

// File: stack.h: header file 
#ifndef STACK_H   
#define STACK_H 

class Stack { 
    int MaxStack; 
    int EmptyStack; 
    int top; 
    int* items; 
    public: 
    Stack(int);     // Constructor 
    ~Stack();     //Destructor 

    //Member Functions 
    void push(int); 
    char pop(); 
    int empty(); 
    int full(); 
}; 
#endif // STACK_H 

和自备电厂的文件

// File: stack.cpp: stack functions 


#include "stack.h" 

using namespace std; 



// Constructor with argument 
Stack::Stack(int size) { 
    MaxStack = size; 
    EmptyStack = -1; 
    top = EmptyStack; 
    items = new int[MaxStack]; 
} 
// Destructor 
Stack::~Stack() { delete[] items; } 

void Stack::push(int c) { 
    items[++top] = c; 
} 

char Stack::pop() { 
    return items[top--]; 
} 

// Test for Full stack 
int Stack::full() { 
    return top + 1 == MaxStack; 
} 

// Test for Empty stack 
int Stack::empty() { 
    return top == EmptyStack; 
} 

作出主要测试类代码之前,当我运行此我得到这两个错误

!(http://postimg.org/image/pnjzd9axt/

任何帮助如何解决这两个呃罗斯?!

在此先感谢

+0

图片是不可用? –

+0

请不要发布错误图片,在问题中复制粘贴*逐字*。 –

回答

2

该错误说明您没有主要功能。

的错误,如: Unresolved external symbol是说的编译器的方式:我想X功能,我希望它被宣布,但在编译和链接模块

1

主要功能是没有定义,我不能找到它。

以下添加到您的源代码:int main() { return 0; }

正如埃米尔表示,编译器无法找到主要功能的定义。

+0

请详细说明你的答案。谢谢! – thomaux

+1

将以下内容添加到您的源代码中...... 如emil所示,编译器无法找到主函数的定义。 int main() { return 0; } – 51k