Calculator Step 3

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Private Member Functions | List of all members
node_divide Class Reference

`#include <node_impl.hpp>`

Inheritance diagram for node_divide:

## Public Member Functions
| node_divide (node left, node right)
Public Member Functions inherited from node_binary
| 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

## Private Member Functions
virtual void | print_node (std::ostream &stream, int indent) const override
virtual double | evaluate_node () const override

## Additional Inherited Members
Protected Member Functions inherited from node_binary
double | evaluate_left () const
double | evaluate_right () const

## Detailed Description

Division.

Definition at line 165 of file node_impl.hpp.

## Constructor & Destructor Documentation

node_divide::node_divide | ( | node | left,
|  | node | right
| ) |  |

Definition at line 282 of file node_impl.cpp.

References node_binary::left().

283 : node_binary{left, right}
284 {}
node_binary
Definition: node_impl.hpp:112
node_binary::left
node left() const
Definition: node_impl.cpp:182

## Member Function Documentation

double node_divide::evaluate_node | ( |  | ) | const
| override private virtual

Implements node_binary.

Definition at line 294 of file node_impl.cpp.

References node_binary::evaluate_left(), and node_binary::evaluate_right().

296 {
297 return evaluate_left() / evaluate_right();
298 }
node_binary::evaluate_right
double evaluate_right() const
Definition: node_impl.cpp:200
node_binary::evaluate_left
double evaluate_left() const
Definition: node_impl.cpp:194

void node_divide::print_node | ( | std::ostream & | stream,
|  | int | indent
| ) |  | const
| override private virtual

Implements node_binary.

Definition at line 286 of file node_impl.cpp.

References node_binary::left(), node::print(), and node_binary::right().

288 {
289 stream << std::setw(indent) << "" << "/\n";
290 left().print(stream, indent + 2);
291 right().print(stream, indent + 2);
292 }
node_binary::right
node right() const
Definition: node_impl.cpp:188
node::print
void print(std::ostream &stream, int indent=0) const
Definition: node.cpp:44
node_binary::left
node left() const
Definition: node_impl.cpp:182

The documentation for this class was generated from the following files:

- node_impl.hpp
- node_impl.cpp