1、解决的问题:
考虑下面的需求,有个集合模版vector,实例化一个类vector<double>,一个类vector<int>,创建对象 double_Vector和int_Vector,我想把int_Vector赋值给double_Vector,这个需求是合理的。思考一下,能成功吗?
2、我们知道,同一个模版实例化出来的模板类,之间没有任何关系,是不同的类型,根本不可能赋值的,因为编译器生成的copy构造和copy赋值,形参都是同一类型。double_Vector的copy构造和copy赋值的形参都是vector<double>对象,那现在怎么办呢?
3、解决办法:
建立模版成员方法,copy构造模版成员方法和copy赋值模版成员方法。形参是同一个模版实例化出来的模板类,也就是集合类,对集合类中的每个元素逐个copy就可以了。