• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

[3:09] 질문

22.12.28 17:15 작성 조회수 362

0

ostream & out 을 사용 하시는데, 강의 상에서는 cout처럼 사용하면 된다라고 말씀하시고 넘어가셔서 궁금증이 생겼습니다.

  1. out이 뭔지, 왜 이것을 cout처럼 써도 되는건지

  2. 이와 관련된 강좌가 있는지

여쭙고 싶습니다. 감사합니다

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2022.12.30

ostream은 output stream 클래스로 흔히 사용하는

iostream은 이를 기반으로 하는 클래스입니다.

여느 클래스와 동일하게 생각해보시면 될 것 같습니다.

ostream & out에서 사용된 out은 임의로 지은 변수 이름입니다.

 

가령 아래와 같은 예제 코드에서

#include <iostream>

class Point
{
  double    x_;
  double    y_;
  double    z_;

public:
  Point(double x = 0.0, double y = 0.0, double z = 0.0)
    : x_(x), y_(y), z_(z)
  {}

  friend std::ostream& operator << (std::ostream& out, const Point& p)
  {
    out << '(' << p.x_ << ", " << p.y_ << ", " << p.z_ << ')';
    return (out);
  }
};

int main()
{
  using namespace std;

  Point p1(0.0, 0.1, 0.2), p2(3.4, 1.5, 2.0);

  cout << p1 << ' ' << p2 << endl;
}

아래와 같이 myout으로 바꾸어도 결과에는 지장이 없습니다.

#include <iostream>

class Point
{
  double    x_;
  double    y_;
  double    z_;

public:
  Point(double x = 0.0, double y = 0.0, double z = 0.0)
    : x_(x), y_(y), z_(z)
  {}

  friend std::ostream& operator << (std::ostream& myout, const Point& p)
  {
    myout << '(' << p.x_ << ", " << p.y_ << ", " << p.z_ << ')';
    return (myout);
  }
};

int main()
{
  using namespace std;

  Point p1(0.0, 0.1, 0.2), p2(3.4, 1.5, 2.0);

  cout << p1 << ' ' << p2 << endl;
}

더 자세한 내용은 하단 링크 참고 바랍니다.

https://cplusplus.com/reference/ostream/ostream/

https://modoocode.com/213

아래 링크에 ostream & out 예제들이 모여 있으니 참고 바랍니다.

https://www.programcreek.com/cpp/?CodeExample=ostream+out