模板参数

template < class  Type,  int  Dim >
class  Point
{
public :
    Point(){}
    Point(Type _coord[Dim])
    {
        
for  ( int  i  =   0 ; i  <  Dim; i ++ )
        {
            coord[i] 
=  _coord[i];
        }
    }

    
void  Print()
    {
        
for  ( int  i  =   0 ; i  <  Dim; i ++ )
        {
            std::cout 
<<  coord[i]  <<   " _ " ;
        }
    }

private :
    Type coord[Dim];
};
    
// 参数模板
     int  a[ 5 =  { 1 , 2 , 3 , 4 , 5 };
    Point
< int 5 >  point(a);
    point.Print();
    std::cout 
<<   sizeof (point)  <<  std::endl; // 20

你可能感兴趣的:(参数)