8 Nov 2002
Costruzione di Interfacce - Paolo Cignoni
4
Esempio di template di classe
vPunto 3D generico:
v
vtemplate <class T>
vclass Point3 {
v public:
v T v[3];
v Point3 operator + ( Point3 const & p) const {
v   return Point3(v[0]+p.v[0],v[1]+p.v[1],v[2]+p.v[2] );
v }
v Point3 & operator =( Point3 const & p ){
v   v[0]= p.v[0]; v[1]= p.v[1]; v[2]= p.v[2];
v   return *this;
v }
v};
v
vint main(){
vPoint3<float> a1(0,0,0),a2(1,2,3);
vPoint3<int>  b(1,1,1);
va1=a1+a2; //ok
va1=b+a2; ///   error!!
vreturn (0);   
v}
v
v