Я пытаюсь записать вывод функции-члена моего класса в текстовый файл.Я не могу заставить свой оператор перегрузки вывода работать так, как я хочу.Я наивно использую неопознанные параметры в строке
outStream << myClass.myMemberFunction(x1, x2, results)
, потому что я до сих пор не нашел ни одного метода, который работал бы, не меняя ничего в myMemberFunction.
Вот пример:
заголовочный файл
proper include guards
class myClass {
public:
bool myMemberFunction( int& x1, int& x2, std::vector<int> results);
friend ostream &operator<< (ostream& out, myClass& Class)
};
, затем в
исходный файл classDef
proper include files
using namespace std;
using std::vector;
bool myClass::myMemberFunction(int& x1, int& x2, vector<int> results) {
int x3;
x3 = x1 + x2;
results.push_back(x3);
return true;
};
myClass& operator<< (ostream& out, myClass& myClass) {
ofstream outStream;
outStream.open("emptyFile.txt", ios::app);
if (outStream.is_open()) {
outStream << myClass.myMemberFunction(x1, x2, results);
важная часть здесь заключается в том, что я хочу вывести значения, которые хранятся в векторе результатов
outStream.close();
}
else throw "Unable to open file";
}
Есть ли способ сделать это без изменения myMemberFunction?