41 lines
922 B
C++
41 lines
922 B
C++
//YOU MAY NOT MODIFY THIS DOCUMENT
|
|
#pragma once
|
|
#include<string>
|
|
|
|
using namespace std;
|
|
|
|
class NodeInterface {
|
|
|
|
public:
|
|
NodeInterface() {}
|
|
virtual ~NodeInterface() {}
|
|
|
|
/*
|
|
* Returns the data that is stored in this node
|
|
*
|
|
* @return the data that is stored in this node.
|
|
*/
|
|
virtual int getData() = 0;
|
|
|
|
/*
|
|
* Returns the left child of this node or null if it doesn't have one.
|
|
*
|
|
* @return the left child of this node or null if it doesn't have one.
|
|
*/
|
|
virtual NodeInterface * getLeftChild() = 0;
|
|
|
|
/*
|
|
* Returns the right child of this node or null if it doesn't have one.
|
|
*
|
|
* @return the right child of this node or null if it doesn't have one.
|
|
*/
|
|
virtual NodeInterface * getRightChild() = 0;
|
|
|
|
/*
|
|
* Returns the height of this node. The height is the number of edges
|
|
* from this node to this nodes farthest child.
|
|
*/
|
|
virtual int getHeight() = 0;
|
|
|
|
};
|