【C++测试】MyCopy函数编写

【C++测试】MyCopy函数编写,第1张

按要求补全函数模板。

#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;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1353448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-14
下一篇 2022-06-14

发表评论

登录后才能评论

评论列表(0条)

保存