ostream & operator<<(ostream & os, Turbo &temp)
{
os<<tmep.num;
return os;
}
이렇게 클래스 내부에 간단한 <<를 오버로딩했습니다.
헌데 에러가 나오는군요...
책에서는 확실히 friend를 이용해서 작성했던데...
저걸 프랜드를 이용해서
/**************************************************************
class Turbo
{
private :
int num;
public :
Turbo(num);
friend ostream & operator<<(ostream & os, Turbo &temp);
};
ostream & operator<<(ostream & os, Turbo &temp)
{
os<<tmep.num;
return os;
}
***************************************************************/
이렇게 하면 에러 없이 구동합니다..
모양새만 보면, 위에껏도 맞는 것 같기도 하는데, 궂이 프랜드로 작성해야 에러 없이 출력되는 이유는 뭘까요?
혹시 프랜드를 사용하지 않고 <<를 오버로딩 하는 방법 아시는 분 있으시면,
가르쳐 주세요.
//읽어주셔서 고맙습니다.
|