일상 코딩
[C++/9.02] 클래스 입출력 연산자 오버로딩 본문
728x90
※ 입출력 연산자 "≪", "≫" 오버로딩 예제
● 파일 입출력 라이브러리 "fstream"을 이용한 "out.txt"로 결과값 출력.
#include<iostream>
#include<fstream>
using namespace std;
class Point
{
private:
double m_x, m_y, m_z;
public:
Point(double x = 0.0, double y = 0.0, double z = 0.0)
: m_x(x), m_y(y), m_z(z)
{}
double getX() { return m_x; }
double getY() { return m_y; }
double getZ() { return m_z; }
friend std::ostream& operator << (std::ostream &out, const Point &point)
{
out << "( " << point.m_x << " " << point.m_y << " " << point.m_z << " )";
return out;
}
friend std::istream& operator >> (std::istream &in, Point &point)
{
in >> point.m_x >> point.m_y >> point.m_z;
// out << "( " << point.m_x << " " << point.m_y << " " << point.m_z << " )";
return in;
}
};
int main()
{
ofstream of("out.txt");
// Point p1(0.0, 0.1, 0.2);
// Point p2(3.4, 1.5, 2.0);
Point p1, p2;
cin >> p1 >> p2;
cout << p1 << ' ' << p2 << endl;
of << p1 << ' ' << p2 << endl;
of.close();
return 0;
}
728x90
'C++ > 따배C++ 09강 연산자 오버로딩' 카테고리의 다른 글
[C++/9.06] 첨자"[]" 연산자 오버로딩 (0) | 2021.10.30 |
---|---|
[C++/9.05] 증감 연산자 오버로딩 (0) | 2021.10.29 |
[C++/9.04] 비교 연산자 오버로딩 (0) | 2021.10.29 |
[C++/9.03] 단항 연산자 오버로딩 (0) | 2021.10.28 |
[C++/9.01] 산술 연산자 오버로딩 (0) | 2021.10.26 |