Main Page | Modules | Class Hierarchy | Class List | File List | Class Members

Calculator::Operation Class Reference

Inheritance diagram for Calculator::Operation:

Calculator::OpDiv Calculator::OpMinus Calculator::OpMul Calculator::OpPlus List of all members.

Detailed Description

An abstract operation, which acts on Calculator operand stack.

Calculator has 2 stacks: Calculator::operands and Calculator::operations. The first one holds integer operand values, and the second one holds operations (either unary or binary, but in this demo I implemented only 4 simplest binary operations).

Definition at line 32 of file calculator.h.

Public Member Functions

 Operation (Calculator *calc)
virtual void operator() ()=0
 Pure virtual operator - it's an operation itself.

Protected Member Functions

Calculatorcalc () const

Private Attributes

Calculatorc


Constructor & Destructor Documentation

Calculator::Operation::Operation Calculator calc  )  [inline]
 

A public constructor.

Parameters:
calc - a parent. It will be used in operator()()
Definition at line 41 of file calculator.h.


Member Function Documentation

virtual void Calculator::Operation::operator()  )  [pure virtual]
 

Pure virtual operator - it's an operation itself.

The operation code is pretty simple. Just pop up needed number of arguments using Calculator::popOperand(), perform calculation and put result back via Calculator::pushOperand( int ).

Implemented in Calculator::OpPlus, Calculator::OpMinus, Calculator::OpMul, and Calculator::OpDiv.


The documentation for this class was generated from the following file:
Generated on Fri Oct 29 13:35:13 2004 for Calculator by doxygen 1.3.8