mathoptr.h

来自「C、C++语言实现的数据结构重要算法和程序 比较全。」· C头文件 代码 · 共 43 行

H
43
字号
#if !defined(_INC_STACK_OO)
#define _INC_MathOptr_OO

#include"stdlib.h"    
#include<iostream.h>
#include"D:\vc_h_file\stack.h"

class MathOptr
{ private:
     char op;int ipre,spre;
   public:
     MathOptr(char ch='\0');
     int operator>=(MathOptr a)
         { return(spre>=a.ipre); }
     void Evaluate(Stack<double>& OpndS);
     char GetOp(void){return(op);}
 };


MathOptr ::MathOptr(char ch)
{ op=ch;
   switch(op)
   {case'+':
     case'-': ipre=1; spre=1;  break;    
     case'*':
     case'/': ipre=2; spre=2;  break;
     case'(': ipre=3; spre=-1; break;
     case')': ipre=0; spre=0;  break; 
    }
 }

void MathOptr::Evaluate(Stack<double>& OpndS)
{ double opnd1=OpndS.Pop();
   double opnd2=OpndS.Pop();
   switch(op)
   {case'+':OpndS.Push(opnd2+opnd1);break;
     case'-':OpndS.Push(opnd2-opnd1);break;
     case'*':OpndS.Push(opnd2*opnd1);break; 
     case'/':OpndS.Push(opnd2/opnd1);break;
   }
 }

#endif //_INC_MathOptr_OO

⌨️ 快捷键说明

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