#include <iostream>
using namespace std;

template<typename T>
class DynamicArray {
private:
    T* arr; // 指向动态数组的指针
    int size; // 数组大小
public:
    // 构造函数
    DynamicArray(int s = 0) {
        size = s;
        arr = new T[size];
    }
    // 析构函数
    ~DynamicArray() {
        delete[] arr;
    }
    // 获取数组大小
    int getSize() const {
        return size;
    }
    // 获取指定位置的元素
    T& operator[](int index) {
        return arr[index];
    }
    // 查找数组中最大值
    T getMax() const {
        T maxVal = arr[0];
        for (int i = 1; i < size; i++) {
            if (arr[i] > maxVal) {
                maxVal = arr[i];
            }
        }
        return maxVal;
    }
    // 查找数组中最小值
    T getMin() const {
        T minVal = arr[0];
        for (int i = 1; i < size; i++) {
            if (arr[i] < minVal) {
                minVal = arr[i];
            }
        }
        return minVal;
    }
};

int main() {
    DynamicArray<int> arr(5);
    for (int i = 0; i < arr.getSize(); i++) {
        arr[i] = i + 1;
    }
    cout << '数组中的元素为:';
    for (int i = 0; i < arr.getSize(); i++) {
        cout << arr[i] << ' ';
    }
    cout << endl;
    cout << '数组中的最大值为:' << arr.getMax() << endl;
    cout << '数组中的最小值为:' << arr.getMin() << endl;
    return 0;
}

原文地址: https://www.cveoy.top/t/topic/nS1y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录