Próbuję znaleźć sposób przekazać fout lub cout do funkcji. Zdaję sobie sprawę, że są logicznie proste sposoby radzenia sobie z tym, jak np. Umieszczanie w dowolnej funkcji, która wyprowadza dane, lub nawet napisanie funkcji w obie strony. Wydaje się to jednak prymitywne i nieefektywne. Nie wierzę, że ten kod kiedykolwiek by działał, umieszczam go tutaj, aby upewnić się, że łatwo jest zobaczyć, co "chciałbym" zrobić. Należy pamiętać, że biorę algorytm projektowania klasy przy użyciu C++, w żaden sposób nie jestem doświadczonym programistą C++. Moja klasa jest ograniczona do korzystania z nagłówków, które widzisz.Czy można przekazać cout lub fout do funkcji?
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
void helloWorld(char);
ofstream fout;
int main()
{
fout.open("coutfout.dat");
helloWorld(c);
helloWorld(f);
return 0;
}
void helloWorld(char x)
{
xout << "Hello World";
return;
}
To działa! Wiedziałem, że nie może być tak trudne, jak ja to robiłem. Wielkie dzięki! – ChiefTwoPencils
Bez problemu. Sprawdź http://en.cppreference.com/w/cpp/io/basic_ostream dla klasy bazowej. –
@Kevin Po przeczytaniu podanego linku, myślę, że funkcja powinna zwrócić 'stream' podany jako argument ...' std :: ostream & sayHello (std :: ostream & stream) {return stream << "Hello World";} – GingerPlusPlus