• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

생성자 소멸자와 관련해서 궁금한 것이 있습니다

22.08.05 08:30 작성 조회수 103

0

루키스님 덕분에 어려웠던 c++ 공부에 흥미를 가지고 열심히 공부중인 학생입니다.

생성자와 소멸자에 관련한 영상을 보고 궁금증이 생겨 질문을 남기게 되었습니다!

 

첫번째 질문입니다)

클래스 내부에 생성자를 만들지 않는다면, 암시적으로 기본 생성자와 복사 생성자가 자동으로 만들어지는 것으로 알고있습니다.

그런데 생성자를 아무거나 하나 이상 만들면, 기본 생성자는 자동으로 만들어지지 않는데,

복사 생성자는 기본 생성자와 달리 다른 생성자의 유무와는 관계없이 자동으로 만들어 지는 것인지?

아니면 복사 생성자도 기본 생성자 처럼 아무 생성자가 하나 이상 있다면 자동으로 만들어지지 않는지 궁금합니다.

 

두번째 질문입니다)

강의를 보니 굳이 소멸자를 작성하지 않고 클래스를 만드시는 것을 봤는데,

그렇다면 클래스 내부에서 소멸자를 굳이 작성하지 않아도 자동으로 소멸자가 만들어지는 것인가요?

답변 1

답변을 작성해보세요.

1

1) 그 부분은 아주 중요하니 직접 테스트를 해보시길 바랍니다.
C++에서 생성자, 복사, 이동 등의 기능들은 [기본적]으로 만들어지긴 합니다.
그러나 만약 별도의 생성자를 만들어야 하는 상황이 있다면,
[멤버 변수중에 포인터나 리소스처럼 해제해야 하는 것이 있는] 상황일 확률이 높습니다.
따라서 세트로 기능 구현을 해주는것이 맞겠죠.

2) 네 그렇습니다.