C++)디폴트 생성자는 매개변수가 없나요?

table99의 이미지

디폴트 생성자는 매개변수가 없다고 하더라구요. 매개변수 있는 생성자를 정의하고, 매개변수 없는 생성자를 정의 할려면 어떻게 해야 하는지요?

ㅇㅇ의 이미지

매개변수가 있는 생성자를 정의하려면 클래스명(매개변수) {...} 형태의 생성자를 선언 및 정의해주시면 됩니다.
Widget이라는 클래스를 예시로 설명드리면 아래와 같습니다.

class Widget
{
  Widget(int parameter)
  {
    ... // 생성자 구현사항
  }
}

매개변수가 있는 생성자를 선언하는 경우 디폴트 생성자는 생겨나지 않습니다.
디폴트 생성자와 매개변수를 받는 생성자 모두 정의하시면 두 생성자 모두 사용할 수 있습니다.
익명 사용자의 이미지

Quote:
디폴트 생성자는 매개변수가 없다고 하더라구요.

정확히는, function parameter pack이 아닌 모든 parameter에 default argument가 있는 생성자를 의미합니다.

"매개변수 없이 호출할 수 있는" 생성자라고 표현하는 것도 괜찮겠네요.

class Widget
{
  Widget(int parameter = 42) // 매개변수를 받을 수도 있지만 default constructor이기도 함.
  {
    ... // 생성자 구현사항
  }
}