CTest 클래스 선언하고
CTest operator + (const CTest& arg)
CTest CTest::operator+(const CTest& arg)
t.m_Value = m_Value + arg.m_Value;
return t;
}
int main()
{
CTest t;
t.m_Value = 1;
CTest s1 = t + 2;
CTest s2 = 2 + t;
}
요렇게 작성했는데
CTest s1 = t + 2; 여기까진 오류없이 잘되는데
CTest s2= 2+t; << 여기부분에서 오류뜨는이유가 먼지 모르겠다...
힌트점 제발..
C++은 좋아는 하지만 언어가 시발괴상망측해서 자동 형변환 되는데 생성자에 integer -> class 되게 만들어주거나, 아님 operator overloading에서 타입을 좀 맞춰줘
류센형님 t+2; 이랑 2+t랑; 도무지 무슨차이인지 모르겠어요;; 이부분 힌트좀 주시면 쉽게 풀릴꺼같아요 ㅜㅜ
http://skmagic.tistory.com/128
std::ostream& operator<<(std::ostream& os, const T& obj){ // write obj to stream return os; }