유사점
- 클래스의 멤버 변수와 멤버 함수를 마음대로 사용할 수 있다.
- 함수 중복을 사용할 수 있다.
- 디폴트 매개변수도 지원한다. 여러 생성자를 한꺼번에 정의하는 강력한 효과가 있다
차이점
생성자는 일반적인 멤버 함수에 비해 다음과 같은 차이가 있습니다.
- 생성자는 반환형이 없다. void도 사용할 수 없다.
- 함수의 이름이 클래스와 동일하다.
- 생성자는 객체가 생성될 때 오직 한 번만 호출된다. 다른 멤버 함수와는 달리 일단 생성된 객체에서 다시 생성자를 호출할 수는 없다.
- 생성자가 하나도 정의되어 있지 않으면 컴파일러가 자동으로 기본 생성자(default constructor)를 제공한다.
- 대부분의 경우 생성자는 고용 접근 권한 public을 갖도록 권한다.
- 멤버 초기화 리스트(member initialization list)를 사용할 수 있다.
생성자는 객체가 생성될 때 오직 한 번만 호출된다.
다른 멤버 함수와는 달리 일단 생성된 객체에서 다시 생성자를 호출할 수는 없다.
이거에 대해서는 실수할 수 도 있을거 같아 추가적인 설명을 하자면
ConstructorClass CC; //기본 생성자 호출
CC("클래스","구조체") //생성자를 다시 또 호출
이렇게 매개변수가 없는 생성자랑 매개변수가 2개인 생성자가 있는데 한 객체로 두번 생성자를 호출하는 실수를 몇번 봐가지고 설명을 했습니다. 생성자는 객체의 생성과 동시에 호출 됩니다.
'C++ 프로그래밍 > 클래스' 카테고리의 다른 글
객체의 복사와 복사 생성자 (0) | 2022.07.28 |
---|---|
객체 생성되는 것과 안 되는 것 (0) | 2022.07.25 |
멤버 초기화 리스트 (0) | 2022.07.25 |
구조체에서 클래스로 (0) | 2022.07.25 |
클래스의 멤버 변수나 멤버 함수를 static으로 처리하는 경우 (0) | 2022.07.21 |