//********************************************************************************
// C++ Certificate Program Intermediate Spring 1999 : Stephen Philips
//
// Final Project
// File : \\Venus\katy\C++ Certificate\intermediate\Final Project\LeafNode.h
//
// Purpose : Declaration for class LeafNode which is the base class for the
// Binary tree.
//
// Author : Hsin-yi F. Berg
// Date : 6/1/99
// Update : 6/8/99
//********************************************************************************
#ifndef LEAFNODE_H
#define LEAFNODE_H
#include <stddef.h>
#include <assert.h>
#include <iostream.h>
#include <string.h>
typedef char * KEY;
class LeafNode
{
public:
/*
LeafNode::LeafNode(KEY word)
Default constructor for a LeafNode.
key field of the LeafNode must be provided.
A LeafNode is not connected to any branch when created.
*/
LeafNode(KEY word);
/*
LeafNode::~LeafNode()
Destructor for the LeafNode.
*/
~LeafNode();
/*
LeafNode *LeafNode::GetLeft(void)
Get the left pointer of this LeafNode.
*/
LeafNode *LeafNode::GetLeft(void);
/*
LeafNode *LeafNode::GetRight(void)
Get the right pointer of this LeafNode.
*/
LeafNode *LeafNode::GetRight(void);
void LeafNode::SetLeft(LeafNode *pLeafNode);
void LeafNode::SetRight(LeafNode *pLeafNode);
/*
void LeafNode::AddLeft(KEY word)
Set the left pointer of this LeafNode point to a new LeafNode.
*/
void LeafNode::AddLeft(KEY word);
/*
void LeafNode::AddRight(KEY word)
Set the right pointer of this LeafNode point to a new LeafNode.
*/
void LeafNode::AddRight(KEY word);
/*
KEY LeafNode::GetKey(void) const
Return the key stored in this LeafNode.
*/
KEY LeafNode::GetKey(void) const;
/*
int LeafNode::GetValue(void) const
Return the value stored in this LeafNode.
*/
int LeafNode::GetValue(void) const;
/*
void LeafNode::IncrementValue()
Increment the value of this LeafNode by 1.
*/
void LeafNode::IncrementValue();
/*
void LeafNode::Print(void) const
Print the internal data in the LeafNode.
*/
void LeafNode::Print(void) const;
private:
// key is the identifier for this LeafNode.
KEY key;
// value is a counter representing how many times the key has been stored.
int value;
// pointer points to the left branch of this LeafNode.
LeafNode *left;
// pointer points to the right branch of this LeafNode.
LeafNode *right;
// maximum number of characters allowed in a word.
enum {max_char = 128};
};
#endif
Back Top