Circle::Circle() : Circle(radius = 1) {}
Circle::Circle(int r) : radius(r) {}
이게 문제있다라고 보는거 같은데
이는 모던 C++ 생성자 위임 문법임.
순환 위임 막을려고 하는 표준 생성자 문법임
Circle() : Circle(1) {} // 기본 생성자가 위임 생성자
Circle(int r) : radius(r) {} // 실제 초기화 책임
요런식으로도 씀
근데 왜 이게 표준처럼 안보이나->한국 책들 대부분 모던 11이 아니라 엣날 기준이라 그렇게 짜면 레거시 코드 싸개 되는거
외려 기존 방식
(디시서 생성자 코드 짜면 글쓰는게 막혀서 이미지 첨부함)
이게 오히려 비표준임. 이렇게 싸면 레거시 싸개 되는거.
이유는 알고 있었는데 오래전에 배워서 기억안남 한 8년전에 배웠던거라
감사합니다 저도 공부 열심히 해서 님같은 고수가 될게요 - dc App
저 개초보임 열공
교수무시는 일학년때 한번쯤 거쳐가는과정읾 ㅇㅇ
저거 갓샵에서도 똑같이 있잖 ㅇㅅㅇ - dc App
그냥 값 주는게 아니라 radius=1 저게 됐었나
뭔 언어가 생성자하나 만드는데 레거시가 있냐 ㅋㅋㅋㅋㅋㅋㅋ 구데기