templates - C++ parameterized constructor In a templated class -
i start learning templates in c++ , not sure if need include template <class t>for implementation of parameterized constructor.
  template <class t>   class   {    t num;      //default constructor (parameterized)      template <class t>//getting error     a(t value)     { num=value;}   }    i error shadow template parm < class t > when include template<class t> constructor.but works when comment out.
i wondering why dont need declare template constructor.
if you're sure need templated constructor function, use different parameter name template:
template <class t>   class   {        t num;      //default constructor (parameterized)      template <class u>                  // ^     a(u value)    // ^     { num=value;}   };   otherwise template parameter name t used templated constructor function shadow name used in class template declaration.
as asking in comment "what occasions use templated constructor?"
it's cases like
a<double> a(0.1f);   note above simple example, , wouldn't need templated constructor. it's demonstrate templated constructor used conversion types different type used in instantiation.
"i wondering why dont need declare template constructor."
a template class without (or additional) non-templated constructor use t specified class template parameter parameter type
template <class t>   class   {        t num;      a(t value)    // ^     { num=value;}   };   this standard case, template classes don't need templated constructor or other templated functions.
Comments
Post a Comment