Expression Evaluation

Environment: VC 4.0/5.0

I made this code while working on a program for analyzing mathematical expressions, and I made some classes for making things easier.

See sample code: ; the programme was writen using MSVC 4.0 and compiled with MSVC 5.0

This classes can be used for evaluating expressions like :

1+4*(5+9) or

1+var1+var2*(5+b5), where var1 , var2 can be: numeric values or expressions or other numeric stuff. See the sample code.

The class hierarchy that I implemented is :

CExpression derived from CObject - represents a mathematical expression; use ChangeExpression to assign a string expression to the expression object

The folowing mathematical functions are known: sin, cos, exp, sqrt, log, tg, ctg, asin, acos, atg and the default operations like +, -,  *, /, ^ - (pow()); the abs function is implemented using: |expresion|.

CValue derived from CObject - represents a value; use SetValue/GetValue - to set / get the value, or UpdateValue to Update the value

CExpValue derived from CValue - represents a value that is defined by a expresion

CNumericValue derived from CValue - represents a simple numeric value

The best way of understanding the way that this classes are functioning is to see the sample project.

If you have some questions or you have some improvement ideas, or you find a bug please send me a mail to: or

See sample code:


Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • As the mobile enterprise marketplace expands and customer needs grow more diverse, Samsung recognizes that solution partners and developers play an essential role by continually innovating to meet their customers' needs. Samsung works to provide these developers and partners with the latest tools and resources needed to create these solutions. Read this program guide to learn how the Samsung Enterprise Alliance Program provides partners and developers with Samsung enterprise software development kits (SDKs) …

  • Being first and fast to market is critical for success. In today's hyper-competitive environment, driving innovation to stay ahead of the competition relies on the ability to seize new opportunities to develop IT solutions faster and more efficiently. This Executive Brief discusses how organizations can meet this high-pressure challenge by moving development of enterprise applications to the cloud, leveraging Platform-as-a-Service (PaaS) and in the process reducing costs, avoiding complexity, and increasing …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date