Study/C++

생성자

kimtaku 2015. 4. 10. 22:01

디폴트 생성자는 객체에 생성자가 단 하나라도 정의되어 있지 않은 경우 컴파일 과정에서 자동으로 생성하며, 만약 하나의 생성자라도 정의된 경우 디폴트 생성자는 자동으로 생기지 않는다.

예를 들어서


1
2
3
4
5
6
7
8
class AAA
{
    int aaa;
public:
    AAA (int ABC) : aaa(ABC)
.
.
}
cs


와 같이 객체가 선언되었다고 하면, 앞으로 AAA객체를 선언해야 하는 경우

AAA abc; 와 같은 형태로는 선언이 불가능하다는 뜻이다. 무조건

AAA (123); 과 같이 선언을 해야 한다.

물론 오버로딩을 통해 디폴트선언자를 따로 명시해주면 가능하다.