テンプレートtemplate

1946 ワード

これはC++のテンプレートです.templateこれはテンプレートを定義する固定フォーマットです
テンプレートはその意味を理解できるでしょう.たとえばint floatまたはdouble型変数の値を2つ求めたい場合は、このような関数を定義するだけでいいです.テンプレートを使用しない場合は、各タイプに対してsum関数を定義する必要があります.int sum(int, int);float sum(float, float);double sum(double, double);
  T               ,       T    ,       T        ,  typename           。 ​​​​​
template < typename var_name > class class_name;   var_name     ,                ,        (int ),        class。     , template template ,typename class       。              typename,     (      class,    int),    C++     typename          

C++     ,template         ,typename     ,T     char int double  。
template    ,T       。
         ,       typename    class?              ,     。
       ,template   T           ,tempate   T      。

      ,    T     ,        (     innerClass)  ,    template:
typename T::innerClass myInnerObject;
    typename      ,T::innerClass     ,        T::innerClass     ,      T      ,  typename      class      。

template
プログラムを書いてみましたが、実はこれはあなたの必要なタイプによって一致することができます.実はテンプレートです
例えば最小値を求めてint,double,charを求めて、それではあなたは3つの関数を書きます
1 int sum(int, int);
2 
3 float sum(float, float);
4 
5 double sum(double, double);
6 
7  

しかしtemplaeがあれば、関数を書くだけです.
詳細は、コードを参照してください.
1 #include
 2 #include
 3 #include
 4 using namespace std;
 5 template 
 6 T mmax(T a,T b)
 7 {
 8     return a>b?a:b;
 9 }
10 int main()
11 {
12     int  a,b;
13     cin>>a>>b;
14     cout<>c>>d;
17     cout<>f>>g;
20     cout<