记得去年十一月份还没进部门那段时间做的最后一个项目就是用MFC仿照Windows下的计算器写一个自己的简易计算器,当时老师含糊的说了句可以用到栈来实现计算机的功能,可是当时对于栈的概念真的非常模糊,甚至从来没有真正意义上的了解栈。所以就用自己的笨办法实现了标准型的计算器,由于进部门之后,介于Android零基础的学习让我倍感压力,所以就一直没有时间和精力去实现科学计算器

    但是现在想想,就算当时我有时间去实现科学计算器,以我当时的算法,应该怎么也无法达到那个效果。但是虽然现在知道了栈的巧妙之处,但是MFC得知识真的已经忘得差不多了,所以还是按部就班的学完数据结构吧。 

    昨天写了一个迷宫的小程序,基本上用的是C++的知识,但是却没有一点C++的特点,所以今天在写简易计算功能的时候将栈的操作封装成一个类了。方便以后直接拿来用。

#pragma once
#ifndef STACK_H
#define STACK_H
#include <string>
using namespace std;
typedef struct Node {
    string oper;
    struct Node *pTrNext;
}NODE,*pNODE;

// typedef struct Optd {
//     int num;
//     struct Optd *pTdNext;
// }OPTD,*pOPTD;

class CStack {
private:
    pNODE pTop;
    pNODE pBottom;
public:
    CStack ();
    bool IsNull();
    void push(string opr);
    bool pop(string *pOpr);
    string getTop();
    void clear();
    ~CStack();
    
};
#endif
CStack.h

相关文章: