home *** CD-ROM | disk | FTP | other *** search
- // This code declares the classes for three simple data types.
- // The contents of a general purpose C header file should be
- // enclosed in a macro #ifdef clause as shown here.
- // This allows multiple inclusions without conflicts.
-
- #ifndef __TYPES_H
- #define __TYPES_H
-
- enum datatype{EMPTY, INT, LONG, STRING, DERIVED};
- class value{
- protected:
- char* namptr;
- public:
- value(); value(char* namestr); //constructor
- virtual ~value(); //destructor
- //return characteristics
- const char* name(){return namptr;};
- virtual int valid();
- virtual datatype type(); virtual const char* typename();
- //return value in different forms
- virtual int asint();
- virtual long aslong();
- virtual const char* asstring();};
-
-
- class ival:public value{
- protected:
- int data;
- public:
- ival(char* namestr, int val);
- datatype type(); const char* typename();
- int asint();
- long aslong();
- const char* asstring();};
-
-
- class lval:public value{
- protected:
- long data;
- public:
- lval(char* namestr, long val);
- datatype type(); const char* typename();
- int asint();
- long aslong();
- const char* asstring();};
-
-
- class sval:public value{
- protected:
- char* data;
- public:
- sval(char* namestr, char* val);
- ~sval(); //supplemental destructor
- datatype type(); const char* typename();
- int asint();
- long aslong();
- const char* asstring();};
-
-
- #endif