home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cset21v1.zip
/
IBMCPP
/
SAMPLES
/
COMPILER
/
SAMPLE06
/
GENTREE.HPP
< prev
next >
Wrap
Text File
|
1993-04-03
|
4KB
|
70 lines
//+----------------------------------------------------------------------------+
//| |
//| GENTREE.HPP |
//| |
//| COPYRIGHT: |
//| ---------- |
//| Copyright (C) International Business Machines Corp., 1992,1993. |
//| |
//| DISCLAIMER OF WARRANTIES: |
//| ------------------------- |
//| The following [enclosed] code is sample code created by IBM Corporation. |
//| This sample code is not part of any standard IBM product and is provided |
//| to you solely for the purpose of assisting you in the development of |
//| your applications. The code is provided "AS IS", without warranty of |
//| any kind. IBM shall not be liable for any damages arising out of your |
//| use of the sample code, even if they have been advised of the |
//| possibility of such damages. |
//| |
//| REVISION LEVEL: 1.0 |
//| --------------- |
//| |
//+----------------------------------------------------------------------------+
//| Class Name : GenTree<T> |
//| |
//| Purpose : Create a Template Class to encapsulate TreeNode members. |
//| This class uses the TreeData class, and is still quite |
//| dependent on its functions. We are slowly evolving into the |
//| full use of templates. |
//| |
//| Author : njC Sales |
//| Date : 27 October 1992 |
//+----------------------------------------------------------------------------+
#ifndef GENTREE_HPP_INCLUDED
#define GENTREE_HPP_INCLUDED
#include "treenode.hpp"
template <class T> class GenTree : public TreeNode
{
public:
GenTree(): TreeNode(), MyData() {}
virtual ~GenTree() {}
virtual void display()
{
printf("Data = %s\n",(char *)MyData.getData());
printf("State = %d\n",(short)getState());
}
GenTree(const T &pType) :
TreeNode(), MyData(pType){}
GenTree(GenTree<T> *pDataInTree);
GenTree(const GenTree<T> &rDataInTree);
GenTree<T> &operator= (const GenTree<T> &rDataInTree);
//+----------------------------------------------------------------------------+
//| The following functions are not general enough, and are suitable only for |
//| the purpose of template testing. |
//| They assume that the datatype passed as template parm has the setData and |
//| getData methods. In general, this is not a wise assumption. |
//+----------------------------------------------------------------------------+
virtual void SetData(void *pString) {MyData.setData(pString); }
virtual void *GetData() const {return MyData.getData(); }
protected:
T MyData;
};
#endif