가만보니 c++ 얘기하는데 자바쓰는 애들이 햇갈리게 하는 것 같은데, 클래스의 맴버에 속하는 대입 연산자는 크게 4가지 정도 되겠다
1. CTemp( const CTemp& rhs ) <- 복사생성자는 알테고
2. CTemp& operator= ( const CTemp& rhs ) <- 대입연산자는 알테고( 자기 자신의 참조반환 주목 )
3. CTemp& operator+= ( const CTemp& rhs ) <- 이런 식의 연산자 + 대입연산자 오퍼레이터도 자기자신의 참조를 반환해야되고
4. CTemp operator+ ( const CTemp& rhs ) <- 이런식의 연산자 오퍼레이터는 참조가 아닌, 값을 반환해야되
말하고보니 마지막은 대입연산자가 아니네 ㅋ
내 설명에서 뭐가 문젠데?
복사생성자도 대입연산자는 아니지.
메소드 타입만 보고는 객체 종류만 알지, 자기자신을 반환하는지 어쩐지는 모르죠. 그냥 자주 쓰는 패턴같은데요
가만보니 c++ 얘기하는데 자바쓰는 애들이 햇갈리게 하는 것 같은데, 클래스의 맴버에 속하는 대입 연산자는 크게 4가지 정도 되겠다
1. CTemp( const CTemp& rhs ) <- 복사생성자는 알테고
2. CTemp& operator= ( const CTemp& rhs ) <- 대입연산자는 알테고( 자기 자신의 참조반환 주목 )
3. CTemp& operator+= ( const CTemp& rhs ) <- 이런 식의 연산자 + 대입연산자 오퍼레이터도 자기자신의 참조를 반환해야되고
4. CTemp operator+ ( const CTemp& rhs ) <- 이런식의 연산자 오퍼레이터는 참조가 아닌, 값을 반환해야되
말하고보니 마지막은 대입연산자가 아니네 ㅋ
내 설명에서 뭐가 문젠데?
복사생성자도 대입연산자는 아니지.
메소드 타입만 보고는 객체 종류만 알지, 자기자신을 반환하는지 어쩐지는 모르죠. 그냥 자주 쓰는 패턴같은데요