std::cin
является std::istream
.
Существует небольшая разница между классом istream
и его производным ifstream
. ifstream
позволяет открывать и закрывать файлы, предоставляя open()
, close()
и is_open()
, и конструктор, который вызывает open()
- и все!
Если ваша функция не использует эти методы, она должна принять istream&
вместо ifstream&
.