Я хочу написать функцию, которая принимает аргумент потока. В идеале я хотел бы, чтобы этот аргумент был консолью (если я хочу, чтобы вывод выводился на экран) или файлом (если я хочу сохранить вывод).
Примерно так:
void myFunc(<some stream object> strm)
{
strm.Write("something");
}
Как мне объявить и вызвать функцию, чтобы получить поведение, которое я ищу?