cout and cin are not functions, so what are they?

后端 未结 4 1107
予麋鹿
予麋鹿 2021-01-30 18:28

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 n

相关标签:
4条回答
  • 2021-01-30 19:07

    cout is object of type ostream. cin is object of type istream.

    0 讨论(0)
  • 2021-01-30 19:15

    Suppose x is an variable ( let integer type ) .We want to put value in it.What we do ?

    We write cin>>x .

    But we can also put the int data by writing cin.operator>>(x) . This implies cin is an object and operator >> is a function in which x is passed .

    0 讨论(0)
  • 2021-01-30 19:23

    They are global variables, declared in the header <iostream>

    0 讨论(0)
  • 2021-01-30 19:27

    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

    0 讨论(0)
提交回复
热议问题