如何创建一个通用类?

解决方案 »

  1.   

    用模板
    #if !defined( __ARRAY_H )
    #define __ARRAY_H#include <memory.h>template <class T> 
    class CArray
    {
    private:
    unsigned int up,low,size,incrment;
    T* elem; CArray& operator=(const CArray&)
    {
    return *this;
    }
    CArray(const CArray&){}public:
     CArray(int up,int low=0,int incr=10);
     T& operator[](int ndx);
     T operator[](int ndx) const;
     virtual int Increase(int incr=incrment);
     virtual ~CArray(){delete []elem;}
    };template <class T> 
    CArray<T>::CArray(int up,int low,int incr)
    {
    CArray::up=up;
    CArray::low=low;
    incrment=incr; size=up-low+1;
    elem= new T[size];
    for(int i=0;i<size;i++)
    elem[i]=T();
    }template <class T> 
    int CArray<T>::Increase(int incr)
    {
    incrment=incr; T* temp = new T[size+incr];
    memcpy(temp,elem,size*sizeof(T)); delete []elem;
    elem=temp; size+=incr; return 1;
    }template <class T> 
    T& CArray<T>::operator[](int ndx)
    {
    int off=ndx-low;
    return elem[off];
    }template <class T> 
    T CArray<T>::operator[](int ndx) const
    {
    int off=ndx-low;
    return elem[off];
    }#endif  //__ARRAY_H
      

  2.   

    向导生成应用程序后,选择ClassView
    右键单击AA classes//AA为创建时的程序名
    选择New Class
    类类型选择Generic Class
    输入要建的类名就可以了
      

  3.   

    向导生成应用程序后,选择ClassView
    右键单击AA classes//AA为创建时的程序名
    选择New Class
    类类型选择Generic Class
    输入要建的类名就可以了
      

  4.   

    向导生成应用程序后,选择ClassView
    右键单击AA classes//AA为创建时的程序名
    选择New Class
    类类型选择Generic Class
    输入要建的类名就可以了