⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chstack1.h

📁 压缩包里有教材<<C++模式设计-基于QT4开源跨平台开发框架>>所有源码
💻 H
字号:
#include <iostream>#include <assert.h>using namespace std;// ChStack implementation with constructor.const int DEFSIZE = 100;class ChStack {public:                                  //the public interface for the ADT ChStack    explicit ChStack(int size):    m_Maxlen(size), m_Top(EMPTY) {        assert(size > 0);        m_S = new char[size];    }    ChStack();                             // default constructor    ChStack(const ChStack& str);           // copy constructor    // domain transfer    ChStack(int size, const char str[]);    //destructor    ~ChStack() {        delete []m_S;    }    void reset() {        m_Top = EMPTY;    }                                      // mutator    void push(char c) {        m_S[++m_Top]= c;    }                                      // mutator    char pop() {        return m_S[m_Top--];    }                                      // mutator    char top_of() const {        return m_S[m_Top];    }                                      //accessor    bool isEmpty() const                   // accessor    {        return (m_Top == EMPTY);    }    bool isFull() const                    // accessor    {        return (m_Top == m_Maxlen - 1);    }private:    enum  {EMPTY = -1};    char*  m_S;                            //changed from m_S[maxlen]    int    m_Maxlen;    int    m_Top;};//default constructor for ChStackChStack::ChStack(): m_S(new char[DEFSIZE]),m_Maxlen(DEFSIZE), m_Top(EMPTY) {}//domain transferChStack::ChStack(int size, const char str[])        : m_Maxlen(size) {    int i;    assert(size > 0);    m_S = new char[size];    for (i = 0; i < m_Maxlen && str[i]; ++i)        m_S[i] = str[i];    m_Top = --i;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -