반응형
기본 생성자는 프로그래머가 클래스 생성시 기본 생성자를 생성하지 않은 경우 컴파일러에 의해서 자동으로 생성된다.
가. 생성자를 선언하지 않은 Circle 클래스
1 2 3 4 5 6 7 8 9 10 | class Circle { public: int radius; double getArea(); }; int main(){ Circle donut; } |
나. 컴파일러에 의해서 기본 생성자 자동 삽입
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Circle{ public: int radius; double getArea(); Circle(); }; Circle::circle(){ } int main() { Circle donut; } |
만약 하나의 아래와 같은 생성자라도 생성되어 있을 경우에 컴파일러는 기본생성자를 생성하지 않으며, 기본생성자를 생성하는 객체 생성 코드를 삽입시 기본 생성자가 자동으로 삽입되지 않기 때문에 오류를 띄우게 된다.
1 2 3 4 | Circle :: Circle(int r) { .... } |
반응형
'Programming > C/C++' 카테고리의 다른 글
C++/접근지정자 (0) | 2017.10.22 |
---|---|
C++/소멸자 (0) | 2017.10.22 |
C++/예제/클래스/ Rectangle 클래스 만들기 (0) | 2017.10.22 |
C/연산순서에 관한 예시 (0) | 2017.09.27 |
C/C언어의 유래 (0) | 2017.08.28 |