定义一个一维数组类Array,成员数组使用动态内存重载自增和自减运算符实现数组元素的自增和自减,具体要求如下:

定义一个一维数组类Array,成员数组使用动态内存重载自增和自减运算符实现数组元素的自增和自减,具体要求如下:


在这里插入图片描述

#include<iostream>
#include<string>
#include<iomanip>
using namespace std;

class Array
{
private:
    int* p;
    int n;
public:
    Array() {}
    Array(int* a,int b)
    {
        p = a;
        n = b;
    }
    friend void operator ++(Array& arr)
    {
        int i = 0;
        while (i < arr.n)
        {
            *(arr.p + i) += 1;
            i++;
        }
    }
    friend void operator ++(Array& arr,int n)
    {
        int i = 0;
        while (i < arr.n)
        {
            *(arr.p + i) += 1;
            i++;
        }
    }
    friend void operator --(Array& arr)
    {
        int i = 0;
        while (i < arr.n)
        {
            *(arr.p + i) -= 1;
            i++;
        }
    }
    friend void operator --(Array& arr,int n)
    {
        int i = 0;
        while (i < arr.n)
        {
            *(arr.p + i) -= 1;
            i++;
        }
    }
    void print()
    {
        for (int i = 0; i < n; i++)
            cout << setw(4) << *(p + i);
        cout << endl;
    }
};

int main()
{
    int a[7],i=0;
    for (i = 0; i < 7; i++)
    {
        cin >> a[i];
        
    }

    Array   arr(a, i);
    arr.print();
    arr++;
    arr.print();
    arr.print();
    arr.print();
 
    arr++;
    arr.print();

    arr--;
    arr.print();
    arr.print();
    arr.print();
    --arr;
    arr.print();
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章