Circle::Circle() : Circle(radius = 1) {}  


Circle::Circle(int r) : radius(r) {}





이게 문제있다라고 보는거 같은데




이는 모던 C++ 생성자 위임 문법임.



순환 위임 막을려고 하는 표준 생성자 문법임




   Circle() : Circle(1) {}      // 기본 생성자가 위임 생성자


   Circle(int r) : radius(r) {} // 실제 초기화 책임




요런식으로도 씀




근데 왜 이게 표준처럼 안보이나->한국 책들 대부분 모던 11이 아니라 엣날 기준이라 그렇게 짜면 레거시 코드 싸개 되는거




외려 기존 방식


(디시서 생성자 코드 짜면 글쓰는게 막혀서 이미지 첨부함)


이게 오히려 비표준임. 이렇게 싸면 레거시 싸개 되는거.


이유는 알고 있었는데 오래전에 배워서 기억안남 한 8년전에 배웠던거라