FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
C++
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
November 01, 2000

Creating Truly Maintainable Class Factories

(Page 8 of 8)
November 2000/Creating Truly Maintainable Class Factories/Listing 7

Listing 7: Partial listing of calculator DLL

#define stack calculator_stack

class plus : public operation
  {
  public:
    virtual int operate( stack* p_stack )
      {
      int l = p_stack->pop( );
      int r = p_stack->pop( );
      int result = l + r;
      p_stack->push( result );
      return result;
      }
    virtual void destroy( ) { delete this; }
  };
// defined in engine.h; provides the
// base and prefix tokens
// required by FACTORYFUNC
FACTORY_ENTRY( plus , plus )
FACTORY_ENTRY( plus , add ) // Create an alias for class plus.

class minus : public operation
  {
  public:
    virtual int operate( stack* p_stack )
      {
      int l = p_stack->pop( );
      int r = p_stack->pop( );
      int result = l - r;
      p_stack->push( result );
      return result;
      }
    virtual void destroy( ) { delete this; }
  };
FACTORY_ENTRY( minus , minus )

...
Previous Page | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
RELATED ARTICLES
No Related Articles
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK