Можно ли передать функцию cout или fout?

Я пытаюсь найти способ передать функции fout или cout. Я понимаю, что есть логически простые способы справиться с этим, например, поместить if в любую функцию, которая выводит данные, или даже просто написать функцию в обоих направлениях. Однако это кажется примитивным и неэффективным. Я не верю, что этот код когда-нибудь сработает, я помещаю его здесь, чтобы было легко увидеть, что я «хотел бы» сделать. Пожалуйста, имейте в виду, что я посещаю класс по разработке алгоритмов с использованием С++, я никоим образом не являюсь опытным программистом на С++. Мой класс ограничен использованием заголовков, которые вы видите.

#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;
}
23
задан ChiefTwoPencils 14 January 2013 в 20:19
поделиться