cout and cin are not functions, so what are they?
c++, iostream
Solution
`std::cout` and `std::cin` are global objects of classes `std::ostream` and `std::istream` respectively, which they've overloaded operator `<<` and `>>`. You should read about operator overloading.
cout << expr ;
~~~~~~ ~~~~ ~~~~~~~~
object op. argument
It's like a function call; the function is an overloaded operator and a shortcut for this:
cout.operator<<(expr);
or this:
operator<<(cout, expr);
depending on the results of overload resolution
Problem
Generally in C programming language We consider printf and scanf to be functions. when it comes to cout and cin, in C++ what are they?I mean they cant be functions as they are not followed by parenthesis,so they are not functions. So what are cout and cin are standard input and output functions?OR something else?