Calculator
Step 3
|
#include <node_impl.hpp>
Public Member Functions | |
node_binary (node left, node right) | |
node | left () const |
node | right () const |
Public Member Functions inherited from node_impl | |
node_impl () | |
virtual | ~node_impl () |
void | print (std::ostream &stream, int indent) const |
double | evaluate () const |
std::string | to_string () const |
Protected Member Functions | |
double | evaluate_left () const |
double | evaluate_right () const |
Private Member Functions | |
virtual void | print_node (std::ostream &stream, int indent) const override=0 |
virtual double | evaluate_node () const override=0 |
Private Attributes | |
node | left_ |
node | right_ |
Abstract base class for binary operators.
Definition at line 112 of file node_impl.hpp.
Definition at line 178 of file node_impl.cpp.
|
protected |
Definition at line 194 of file node_impl.cpp.
References node::evaluate(), and left().
Referenced by node_add::evaluate_node(), node_subtract::evaluate_node(), node_multiply::evaluate_node(), and node_divide::evaluate_node().
|
overrideprivatepure virtual |
Implements node_impl.
Implemented in node_divide, node_multiply, node_subtract, and node_add.
|
protected |
Definition at line 200 of file node_impl.cpp.
References node::evaluate(), and right().
Referenced by node_add::evaluate_node(), node_subtract::evaluate_node(), node_multiply::evaluate_node(), and node_divide::evaluate_node().
node node_binary::left | ( | ) | const |
Definition at line 182 of file node_impl.cpp.
References left_.
Referenced by evaluate_left(), node_add::node_add(), node_divide::node_divide(), node_multiply::node_multiply(), node_subtract::node_subtract(), node_add::print_node(), node_subtract::print_node(), node_multiply::print_node(), and node_divide::print_node().
|
overrideprivatepure virtual |
Implements node_impl.
Implemented in node_divide, node_multiply, node_subtract, and node_add.
node node_binary::right | ( | ) | const |
Definition at line 188 of file node_impl.cpp.
References right_.
Referenced by evaluate_right(), node_add::print_node(), node_subtract::print_node(), node_multiply::print_node(), and node_divide::print_node().
|
private |
Definition at line 124 of file node_impl.hpp.
Referenced by left().
|
private |
Definition at line 125 of file node_impl.hpp.
Referenced by right().