Calculator
Step 4
|
#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 () | |
node_impl (node_impl &&)=default | |
node_impl & | operator= (node_impl &&)=default |
virtual | ~node_impl () |
void | print (std::ostream &stream, int indent) const |
double | evaluate () const |
std::string | to_string () const |
identifier_list const & | get_parameters () 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 129 of file node_impl.hpp.
Definition at line 250 of file node_impl.cpp.
|
protected |
Definition at line 266 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 272 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 254 of file node_impl.cpp.
References left_.
Referenced by evaluate_left(), 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 260 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 141 of file node_impl.hpp.
Referenced by left().
|
private |
Definition at line 142 of file node_impl.hpp.
Referenced by right().