copy constructors for template classes

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • stmfc
    New Member
    • May 2007
    • 65

    copy constructors for template classes

    what is the difference between this two versions of copy constructors:

    myClass(const myClass & mc);
    myClass(const myClass<T> & mc);

    here is the template class declaration:

    Code:
    template<class T>
    class myClass {
    private:
            T val;
    public:
            myClass(T v=0);  // default constructor
            //myClass(const myClass & mc);  //copy constructor version1
            myClass(const myClass<T> & mc);  //copy constructor  version2
            void display() { cout<<"val: "<<val<<endl; }
    };
  • OuaisBla
    New Member
    • Jun 2007
    • 18

    #2
    There isn't.

    Inside a class you can use both className<T> or className. There's synomym.

    Template is very powerful. What you can also do is something like:

    template <class T1>
    class c
    {
    template<T2>
    c( c<T2> const & ); //you can copy c<int> into c<long> for example.

    };

    Comment

    Working...