Я почти уверен, что ВЫ должны создать заголовок ArrayIntStorage.h И реализовать соответствующий ArrayIntStorage.cpp.
На основе комментария "// sort data using std" вы должны будете использовать и создать оболочку для соответствующего контейнера stl, что-то вроде std :: vector.
Исходя из комментария "// не читать сортировку", вы должны по умолчанию сортировать вектор после каждой вставки (если, конечно, кто-то не вызовет setReadSort (false) для вашей оболочки).
В дополнение к интерфейсу, описанному выше, вам все еще нужно реализовать >> и <<. </p>
UPDATE.
Читая ваш вопрос на C ++ переменная передачи из .cpp в файл заголовка вы, кажется, совсем смущены всем этим ...
Первым делом добавим поддержку операторов >> и <<: </p>
Вы делаете это, объявляя эти операторы в своем .h файле:
friend std::ostream& operator<<(std::ostream &out, const ArrayIntStorage &a);
friend std::ifstream & operator>>(std::ifstream &, ArrayIntStorage &);
Затем вы определяете их реализацию в файле .cpp:
std::ostream& operator<<(std::ostream &out, const ArrayIntStorage &a)
{ return out; }
std::ifstream & operator>>(std::ifstream &, ArrayIntStorage &)
{ return in; }
Очевидно, вам нужно добавить туда какой-то правильный код, это просто для его компиляции.
Если он по-прежнему не компилируется, проверьте, включили ли вы заголовки потока в ваш файл .h:
#include <fstream>
#include <iostream>
Теперь для общей информации:
Ваше хранилище массивов должно основываться на чем-то вроде std :: vector. Назначение функций >> и <<, которые вам нужно реализовать, состоит в том, чтобы добавлять и извлекать int из этого контейнера. </p>
Поскольку ArrayIntStorage является классом, после того, как вы установили необходимый интерфейс (общедоступные функции-члены в файле .h), вам нужно только взглянуть на .h и .cpp, чтобы конкретизировать реализацию.
Как только это будет сделано, вам не понадобится какое-либо "внешнее" безумие, когда ответили на ваш другой вопрос.
Посмотрите на свою основную функцию. If создает объект вашего класса и поток fin1. Затем он вызывает оператор >>, который вы реализовали. Все это делается с помощью локальных переменных.
Вот как вы «используете значение этой переменной из main.cpp». Вы вызываете функцию-член вашего класса с этой переменной в качестве параметра.
И, наконец, если у вас есть все эти проблемы с пониманием заголовочных файлов и ошибок ссылок, вы уверены, что начали с правильного упражнения?