// File: integer.C // // Implementation of Integer class #include #include #include #include "integer.h" int Integer::idvar=0 ; Integer::Integer(int a /* =0 */) : n(a) { // do nothing else } Integer::~Integer() { // do nothing else } Ordered *Integer::clone() { Ordered *ptr = new Integer(n) ; if (ptr == NULL) { cerr << "Ouch!" << endl ; exit(1) ; } return ptr ; } int Integer::cmp(Ordered *ptr) { if (ptr == NULL) return 1 ; if ( &idvar != ptr->id() ) { return &idvar < ptr->id() ? -1 : 1 ; } Integer *p = (Integer *) ptr ; if (n < p->n) return -1 ; if (n > p->n) return 1 ; return 0 ; }