rendered paste bodytemplate <class T>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 <class T>Set<T>::Set(int s){ setPtr = new T[s]; pos = 0;}template <class T>int Set<T>::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 <class T>T* Set<T>::intersectSet(const T& inter){ return 0;}template <class T>void Set<T>::print(){ int i = 0; while(i < pos){ cout << setPtr[i] << " "; i++; } cout << endl;}