-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
[3:09] 질문
22.12.28 17:15 작성 조회수 362
0
ostream & out 을 사용 하시는데, 강의 상에서는 cout처럼 사용하면 된다라고 말씀하시고 넘어가셔서 궁금증이 생겼습니다.
out이 뭔지, 왜 이것을 cout처럼 써도 되는건지
이와 관련된 강좌가 있는지
여쭙고 싶습니다. 감사합니다
답변을 작성해보세요.
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/
아래 링크에 ostream & out 예제들이 모여 있으니 참고 바랍니다.
답변 1