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: express.zip ; the programme was writen using MSVC 4.0 and compiled with MSVC 5.0
This classes can be used for evaluating expressions like :
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.
See sample code: express.zip