Library 3

added tests on iterators, cleaner menu, fixes.
This commit is contained in:
Alessandro Ferro
2021-05-09 16:07:20 +02:00
parent 2e4f7c3de8
commit 33106bcee2
6 changed files with 128 additions and 36 deletions

View File

@@ -35,12 +35,12 @@ bool BinaryTreeLnk<Data>::NodeLnk::HasRightChild() const noexcept{
}
template <typename Data>
struct BinaryTree<Data>::Node& BinaryTreeLnk<Data>::NodeLnk::LeftChild() const{
struct BinaryTreeLnk<Data>::NodeLnk& BinaryTreeLnk<Data>::NodeLnk::LeftChild() const{
return *left;
}
template <typename Data>
struct BinaryTree<Data>::Node& BinaryTreeLnk<Data>::NodeLnk::RightChild() const{
struct BinaryTreeLnk<Data>::NodeLnk& BinaryTreeLnk<Data>::NodeLnk::RightChild() const{
return *right;
}

View File

@@ -25,8 +25,8 @@ protected:
bool HasLeftChild() const noexcept override; // (concrete function should not throw exceptions)
bool HasRightChild() const noexcept override; // (concrete function should not throw exceptions)
struct BinaryTree<Data>::Node& LeftChild() const override; // (concrete function must throw std::out_of_range when not existent)
struct BinaryTree<Data>::Node& RightChild() const override; // (concrete function must throw std::out_of_range when not existent)
struct NodeLnk& LeftChild() const override; // (concrete function must throw std::out_of_range when not existent)
struct NodeLnk& RightChild() const override; // (concrete function must throw std::out_of_range when not existent)
friend class BinaryTreeLnk<Data>;