模板--数组类
发布日期:2021-05-15 09:23:51 浏览次数:12 分类:精选文章

本文共 2747 字,大约阅读时间需要 9 分钟。

������������������������������������������������������������������������������������������������������������������������������Array������������������������������������������������������������������

���������

������������������Array������������������������������������T���������������������������������������������

  • ���������������������������
  • ���������������������������������������������������
  • ���������������������������
  • ���������������������������������������

���������������������������

  • ������������������
  • ���������������������������������������������
  • ������������������������
  • ������������������������������������

    ���������������������

    Array operator+(const Array &arr1);Array operator-(const Array &arr1);// ������Array operator+(const Array &arr1) {    Array retval; // ������������������    if (arr1.size == size) {        for (int i = 0; i < arr1.size; ++i) {            retval.list[i] = list[i] + arr1.list[i];        }    }    return retval;}// ������Array operator-(const Array &arr1) {    Array retval; // ������������������    if (arr1.size == size) {        for (int i = 0; i < arr1.size; ++i) {            retval.list[i] = list[i] - arr1.list[i];        }    }    return retval;}

    ���������������������

    template 
    Array
    & operator[](int n) { assert(n >= 0 && n < size); return list[n];}template
    const T& operator[](int n) const { assert(n >= 0 && n < size); return list[n];}

    ���������������������

    template 
    Array
    ::Array(int sz) { assert(sz >= 0); size = sz; list = new T[size];}template
    Array
    ::~Array() { delete[] list;}template
    Array
    ::Array(const Array
    &a) { size = a.size; list = new T[size]; for (int i = 0; i < size; ++i) { list[i] = a.list[i]; }}

    ������������

    ���������������������������������������

    // ������������������Array
    a1(10), a2(10), a3(10), a4(10), a5(10), a6(7), a7(7);// ������������for (int i = 0; i < 10; ++i) { a1[i] = rand() % 10; a3[i] = rand() % 10;}for (int i = 0; i < 7; ++i) { a7[i] = rand() % 10;}// ���������������a2 = a1; // ���.IContainer������a4 = a1 + a3; // ������������a5 = a3 - a1; // ������������a6 = a1 + a7; // ������������if (a6 != a1 + a7) { // ���������������������}

    ������������

    ���������������������

    // ������������System.out.println("������a1\n" + a1);System.out.println("������a3\n" + a3);System.out.println("������a7\n" + a7);// ������������Array
    arr3(5), arr4(5), arr5(5);for (int i = 0; i < 5; ++i) { arr3[i] = 'G' + i;}System.out.println("������arr3\n" + arr3);

    ���������������������Array���������������������������������������������������������������������������������������������������������

    上一篇:使用protobuf的socket例子
    下一篇:基类派生类类型转换以及虚函数

    发表评论

    最新留言

    不错!
    [***.144.177.141]2025年04月27日 03时57分07秒