/*
예제 PointConsoleOutput.cpp에서 정의한 Point 클래스를 대상으로 아래의 main 함수가 보이는대로 데이터의 입력이 가능하도록,
그리고 실행의 예에서 보이는 대로 출력이 이뤄지도록 >>연산자를 오버로딩하자
int main(void)
{
Point pos1;
cout << "x, y 좌표 순으로 입력: ";
cin >> pos1;
cout << pos1;
Point pos2;
cout << "x, y 좌표 순으로 입력: ";
cin >> pos2;
cout << pos2;
return 0;
}
*/
#include <iostream>
using namespace std;
class Point
{
private:
int xpos;
int ypos;
public:
Point(int x = 0, int y = 0) :xpos(x), ypos(y)
{
}
void ShowPosition() const
{
cout << '[' << xpos << ", " << ypos << ']' << endl;
}
friend ostream &operator<<(ostream&, const Point &);
friend istream &operator>>(istream&, Point &);
};
ostream &operator<<(ostream &os, const Point &pos) //out
{
os << '[' << pos.xpos << ", " << pos.ypos << ']' << endl;
return os;
}
istream &operator>>(istream &is, Point &pos) //in
{
is >> pos.xpos >> pos.ypos;
return is;
}
int main(void)
{
Point pos1;
cout << "x, y 좌표 순으로 입력: ";
cin >> pos1;
cout << pos1;
Point pos2;
cout << "x, y 좌표 순으로 입력: ";
cin >> pos2;
cout << pos2;
return 0;
}
개발 환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
[참고] 열혈 C++ 프로그래밍 윤성우 저
'C++ > 열혈 C++ 프로그래밍(윤성우 저)' 카테고리의 다른 글
열혈 C++ 프로그래밍 11-2 문제 (0) | 2017.06.12 |
---|---|
열혈 C++ 프로그래밍 11-1 문제 (0) | 2017.06.12 |
열혈 C++ 프로그래밍 10-2 문제 (0) | 2017.06.08 |
열혈 C++ 프로그래밍 10-1 문제 (0) | 2017.06.08 |
OOP 단계별 프로젝트 7 (0) | 2017.06.08 |