template class Set { public: Set(int = 10); ~Set() { delete [] setPtr ; } int insert(const T&); void print(); T* unionSet(const T&); T* intersectSet(const T&); private: T* setPtr; int pos; }; template Set::Set(int s) { setPtr = new T[s]; pos = 0; } template int Set::insert(const T& item) { T temp; int i = 0; while(temp = setPtr[i++]) if(temp == item) return 0; setPtr[pos++] = item; //consider revision int j; T index; for (i=0; i < pos; i++){ index = setPtr[i]; j = i; while ((j > 0) && (setPtr[j-1] > index)){ setPtr[j] = setPtr[j-1]; j--; } setPtr[j] = index; } return 1; } template T* Set::intersectSet(const T& inter) { return 0; } template void Set::print() { int i = 0; while(i < pos){ cout << setPtr[i] << " "; i++; } cout << endl; }