C & C++/C++ 예제 및 소스
개체 출력자 실습 – 회원 클래스 및 쉬프트 연산자 중복 정의 [C++]
언휴
2025. 1. 8. 14:30
안녕하세요. 언제나 휴일에 언휴예요.
이번 실습에서는 개체 출력자를 구현합니다.
C++에서 출력을 위해 ostream 형식을 정의하고 있어요. cout이 대표적인 ostream 형식 개체죠.
개체 출력자는 ostream 형식 개체를 이용하여 개체 정보를 출력할 수 있게 정의하는 코드 집합을 개체 출력자라 부릅니다.
이번 실습에서는 회원 클래스를 정의하고 개체 출력자를 정의할 거예요.
기본 형식처럼 회원 개체 정보를 ostream 형식 개체로 출력할 수 있게 구현하는 실습입니다.
/* https://ehpub.co.kr
C++ 예제 - 언제나 휴일
개체 출력자 - 회원 클래스
*/
#include
#include
using namespace std;
class Member
{
int num;
string name;
public:
Member(int num, string name)
{
this->num = num;
this->name = name;
}
int GetNum()const
{
return num;
}
string GetName()const
{
return name;
}
void View(ostream& os = cout)const
{
os << "번호:" << num << " 이름:" << name;
}
};
ostream &operator<<(ostream& os, const Member& member)
{
member.View(os);
return os;
}
ostream& operator<<(ostream& os, const Member* member)
{
member->View(os);
return os;
}
int main()
{
Member member(3, "홍길동");
Member *member2 = new Member(2, "강감찬");
cout << member << endl;
cout << member2 << endl;
delete member2;
return 0;
}
실행 결과는 다음과 같습니다.
번호:3 이름:홍길동
번호:2 이름:강감찬
언제나휴일 여행 및 산책