C++類模板


  可以像定義函數模板一樣去定義類模板。定義形式為:

  template <模板形參表>

  class 類模板名{

    成員列表

  };

  <模板形參表>的格式一般為:<class 類型參數1,clsss 類型參數2,...>

  利用類模板可以建立支持各種數據類型的類。

  例子:

  template<class T>

  class Point{

  public:

    Point():x(0),y(0){}

    Point(const T a,const T b);

    void Set(const T a,const T b);

    void Display(){cout<<"Display:"<<"x="<<x<<",y="<<y<<endl;

  private:

    T x,y;

  };

  如果在類模板外部定義成員函數,形式為:

  template<模板形參表>

  返回類型 類名<類型參數表>::函數名(形式參數列表)

  {

    函數體

  };

  例如:

  template<class T>

  void Point<T>::Set(const T a,const T b)

  {

    x=a,y=b;

  };

  用類模板定義對象時,必須為模板形式參數顯式指定類型實參,將類模板實例化,一般形式為:

  類模板名<類型實參表>對象名列表;

  例如:

  Point<int >a,b;

  Point<double>m(1,2),n(3,4);

  模板形參表可以是非類型形參,其形式與函數形參表相似:

  template<class T ,int N>

  class Se{

  ...

  };

  template<class T,int N>

  void Se<T,N>::Set(int i, T value)

  {...}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM