再读C++ Primer 写了个小例子——模板类的操作
#include
<
iostream.h
>
template < class T >
class add
... {
private:
T *a1;
public:
add(T temp)
...{
a1= new T;
*a1=temp;
}
~add()
...{
delete a1;
a1=NULL;
}
add(add& temp)
...{
a1=new T;
*a1=*(temp.a1);
}
void print()
...{
cout<<*a1<<endl;
}
} ;
void main()
... {
add<int> test(10);
test.print();
add<int> test1(test);
test1.print();
int data1[4],data2[4];
int i;
int temp;
int *zu[2];
for(i=0;i<4;i++)
...{
cin>>temp;
data1[i]=temp;
}
for(i=0;i<4;i++)
...{
cin>>temp;
data2[i]=temp;
}
zu[0]=&data1[0];
zu[1]=&data2[0];
for(i=0;i<4;i++)
...{
cin>>temp;
data2[i]=temp;
}
for(i=0;i<4;i++)
...{
cout<<*zu[0]<<endl;
zu[0]++;
}
for(i=0;i<4;i++)
...{
cout<<*zu[1]<<endl;
zu[1]++;
}
}
template < class T >
class add
... {
private:
T *a1;
public:
add(T temp)
...{
a1= new T;
*a1=temp;
}
~add()
...{
delete a1;
a1=NULL;
}
add(add& temp)
...{
a1=new T;
*a1=*(temp.a1);
}
void print()
...{
cout<<*a1<<endl;
}
} ;
void main()
... {
add<int> test(10);
test.print();
add<int> test1(test);
test1.print();
int data1[4],data2[4];
int i;
int temp;
int *zu[2];
for(i=0;i<4;i++)
...{
cin>>temp;
data1[i]=temp;
}
for(i=0;i<4;i++)
...{
cin>>temp;
data2[i]=temp;
}
zu[0]=&data1[0];
zu[1]=&data2[0];
for(i=0;i<4;i++)
...{
cin>>temp;
data2[i]=temp;
}
for(i=0;i<4;i++)
...{
cout<<*zu[0]<<endl;
zu[0]++;
}
for(i=0;i<4;i++)
...{
cout<<*zu[1]<<endl;
zu[1]++;
}
}