私はfoutまたはcoutを関数に渡す方法を見つけようとしています。私は、これを処理する論理的に簡単な方法があることを認識しています。データを出力する関数にifを入れたり、関数を両方の方法で書くだけでよいのです。しかし、それは原始的で非効率的なようです。私はこのコードがこれまでどおりに動作するとは思っていませんが、私が "好きな"ものを見やすくするためにここに入れています。私はC + +を使用してアルゴリズム設計クラスを取っていることに注意してください。私は決して熟練したC++プログラマーではありません。私のクラスはあなたが見ているヘッダーを使うことに限られています。coutまたはfoutを関数に渡すことはできますか?
#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;
}
それは動作します!私はそれを作っていたほど難しいとは思っていませんでした。本当にありがとう! – ChiefTwoPencils
問題ありません。基本クラスについてはhttp://en.cppreference.com/w/cpp/io/basic_ostreamをご覧ください。 –
@Kevinあなたが与えたリンクを読んだ後、関数は引数として与えられた 'stream'を返すべきだと思います...' std :: ostream&sayHello(std :: ostream&stream){return stream << "Hello World";} ' – GingerPlusPlus