Тема: Класи та об'єкти в С++
У  мене є завдання: Створити клас – стек на основі одновимірного масиву цілих чисел. Визначити конструктор, деструктор, функції для додавання елемента до стеку та вилучення елемента зі стеку, обчислення кількості елементів у стеку, мінімального та максимального елемента.
Ось код:
#include<iostream>
using namespace std;
class STACK
{
private:
    int* stack;
    int count;
public:
    STACK()
    {
        count = 0;
    }
    void add(int item)
    {
        int* point;
        point = stack;
        stack = new int[count + 1];
        count++;
        for (int i = 0;i < count - 1;i++)
            stack[i] = point[i];
        stack[count - 1] = item;
        if (count > 1)
            delete[]point;
    }
    int del()
    {
        if (count == 0)
            return 0;
        count--;
        return stack[count];
    }
    int Head()
    {
        if (count == 0)
            return 0;
        return stack[count - 1];
    }
    
        ~STACK()
    {
        if (count > 0)
            delete[]stack;
    }
    int Count()
    {
        return count;
    }
    void Print()
    {
        int* p;
        p = stack;
        cout << "Stack:" << endl;
        if (count == 0)
            cout << "is empty." << endl;
        for (int i = 0;i < count;i++)
        {
            cout << "Item[" << i << "]=" << *p << endl;
            p++;
        }
        cout << endl;
    }
};
int main()
{
    STACK st;
    st.Print();
    st.add(2);
    st.add(4);
    st.add(15);
    st.add(6);
    st.add(23);
    st.Print();
    
    cout << "Count:" << st.Count()<<"\n" << endl;
    int d;
    d = st.del();
    cout << "Delete item:" << d << endl;
    st.Print();
    
    return 0;
}Зроблено майже все окрім визначення мінімального та максимального елемента. Де найдоцільніше шукати їх, в main() чи створювати функцію у класі? І як це правильно реалізувати?