# Класс Expression

`#include <expression.h>`

Граф наследования:Expression:
[см. легенду]

Полный список членов класса

## Открытые члены
double | value ()
virtual | ~Expression ()
virtual double | eval ()=0
## Защищенные члены
| Expression ()
| Expression (double value)
## Защищенные данные
double | _value
| вычисленное значение.
bool | _isEvaluated
| значение вычислено?

## Подробное описание

Абстрактное выражение или просто Выражение.

Базовый класс, реализующий идею деревьев абстрактных выражений (abstract expression trees), применяемых в отложенных вычислениях (lazy evaluation).

## Конструктор(ы)

Expression::Expression | ( |  | ) | `[protected]`

Конструктор.

Аргументы:

  | isEvaluated | значение вычислено?

Expression::Expression | ( | double | value | ) | `[protected]`

Конструктор, используемый для формирования выражения-константы.

Аргументы:

  | value | значение

virtual Expression::~Expression | ( |  | ) | `[virtual]`

Деструктор.

## Методы

virtual double Expression::eval | ( |  | ) | `[pure virtual]`

Функция, вычисляющая выражение.

Перегружается в наследниках.

Возвращает:
  вычисленное выражение

Замещается в BinaryExpression, UnaryExpression и Variable.

double Expression::value | ( |  | ) |

Функция, проверяющая вычислено ли выражение, при необходимости инициирующая вычисление.

Возвращает:
  вычисленное выражение

Объявления и описания членов класса находятся в файле:

- libleva/expression.h

Указатель Классы Функции Переменные