按要求补全函数模板。
#include
#include
using namespace std;
template <class T>
struct MyCopy {
// 在此处补充你的代码
void operator()(T *a, T *a_m, T *b) {
T t[200];
T *e=a;
for(int i=0; a != a_m; i++)
{
t[i]=*a;
a++;
}
a=e;
for(int i=0; a != a_m; i++){
*b = t[i];
b++;
a++;
}
}
};
int a[200];
int b[200];
string c[200];
string d[200];
template <class T>
void Print(T s,T e) {
for(; s != e; ++s)
cout << * s << ",";
cout << endl;
}
int main(){
int m ;
cin >> m;
for(int i = 0;i < m; ++i)
cin >> a[i];
MyCopy<int>()(a,a+m,b);
Print(b,b+m);
MyCopy<int>()(a,a+m,a+m/2);
Print(a+m/2,a+m/2 + m);
for(int i = 0;i < m; ++i)
cin >> c[i];
MyCopy<string>()(c,c+m,d);
Print(c,c+m);
MyCopy<string>()(c,c+m,c+m/2);
Print(c+m/2,c+m/2 + m);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)